[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[shepherd] 04/06: service: Add ‘register-service-logger’.
From: |
Ludovic Courtès |
Subject: |
[shepherd] 04/06: service: Add ‘register-service-logger’. |
Date: |
Sun, 28 Apr 2024 17:16:26 -0400 (EDT) |
civodul pushed a commit to branch devel
in repository shepherd.
commit ae32e8d75edf16703e418eb34a1f2cf7d03456ac
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat Apr 27 21:30:09 2024 +0200
service: Add ‘register-service-logger’.
* modules/shepherd/service.scm (register-service-logger): New procedure.
(service-control): No longer export.
* modules/shepherd/logger.scm (%service-file-logger)
(service-builtin-logger): Use ‘register-service-logger’ instead of
writing directly to SERVICE’s control channel.
---
modules/shepherd/logger.scm | 8 +++-----
modules/shepherd/service.scm | 8 +++++++-
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/modules/shepherd/logger.scm b/modules/shepherd/logger.scm
index 6a70d89..f3a182f 100644
--- a/modules/shepherd/logger.scm
+++ b/modules/shepherd/logger.scm
@@ -23,7 +23,7 @@
#:use-module (fibers operations)
#:use-module (shepherd comm)
#:autoload (shepherd service) (current-service
- service-control
+ register-service-logger
service-running-value
service-status)
#:use-module (shepherd support)
@@ -105,8 +105,7 @@ not exist."
(when service
;; Associate this logger with SERVICE.
- (put-message (service-control service)
- `(register-logger ,channel)))
+ (register-service-logger service channel))
(call-with-port output
(lambda (output)
@@ -190,8 +189,7 @@ to @var{history-size} lines in memory."
(when service
;; Associate this logger with SERVICE.
- (put-message (service-control service)
- `(register-logger ,channel)))
+ (register-service-logger service channel))
(let loop ((pid #f)
(messages (ring-buffer history-size))
diff --git a/modules/shepherd/service.scm b/modules/shepherd/service.scm
index 1d036ef..a0a4db9 100644
--- a/modules/shepherd/service.scm
+++ b/modules/shepherd/service.scm
@@ -75,7 +75,6 @@
service-recent-messages
service-log-file
service-action-list
- service-control ;internal
lookup-service-action
service-defines-action?
@@ -98,6 +97,7 @@
start-in-the-background
stop-service
perform-service-action
+ register-service-logger
lookup-running
for-each-service
@@ -884,6 +884,12 @@ channel and wait for its reply."
"Disable @var{service}."
(put-message (service-control service) 'disable))
+(define (register-service-logger service logger)
+ "Register @var{logger}, a value as returned by
+@code{spawn-service-file-logger} & co., as the logger of @var{service}."
+ (put-message (service-control service)
+ `(register-logger ,logger)))
+
(define (record-service-respawn-time service)
"Record the current time as the last respawn time for @var{service}."
(put-message (service-control service) 'record-respawn-time))
- [shepherd] branch devel updated (f1b5734 -> 2be2050), Ludovic Courtès, 2024/04/28
- [shepherd] 02/06: guix: Import (gnu services) for ‘modify-services’., Ludovic Courtès, 2024/04/28
- [shepherd] 05/06: logger: Built-in logger recognizes <process> values., Ludovic Courtès, 2024/04/28
- [shepherd] 06/06: service: Remove unused ‘find-service’ procedure., Ludovic Courtès, 2024/04/28
- [shepherd] 01/06: build: Remove support for Guile 2.2., Ludovic Courtès, 2024/04/28
- [shepherd] 04/06: service: Add ‘register-service-logger’.,
Ludovic Courtès <=
- [shepherd] 03/06: service: Move logging code to (shepherd logger)., Ludovic Courtès, 2024/04/28