diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-06-17 22:53:55 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-06-17 22:53:55 +0200 |
commit | 08bfb8106b3a337ebf9a4bf3a8ddd2e494d18b48 (patch) | |
tree | 3de39d54005094d3380b4e98c6b9f8c66ee2cfc4 /src | |
parent | bbe63281ea16ed9899dd4818874098c05e36b154 (diff) |
sd-daemon: extend return value logic of sd_notify()
Diffstat (limited to 'src')
-rw-r--r-- | src/sd-daemon.c | 8 | ||||
-rw-r--r-- | src/sd-daemon.h | 12 |
2 files changed, 12 insertions, 8 deletions
diff --git a/src/sd-daemon.c b/src/sd-daemon.c index 0dad73f94d..e6b9a6f3c2 100644 --- a/src/sd-daemon.c +++ b/src/sd-daemon.c @@ -344,10 +344,8 @@ int sd_notify(int unset_environment, const char *state) { goto finish; } - if (!(e = getenv("NOTIFY_SOCKET"))) { - r = 0; - goto finish; - } + if (!(e = getenv("NOTIFY_SOCKET"))) + return 0; /* Must be an abstract socket, or an absolute path */ if ((e[0] != '@' && e[0] != '/') || e[1] == 0) { @@ -394,7 +392,7 @@ int sd_notify(int unset_environment, const char *state) { goto finish; } - r = 0; + r = 1; finish: if (unset_environment) diff --git a/src/sd-daemon.h b/src/sd-daemon.h index 0277b0fb5c..2d79082aa3 100644 --- a/src/sd-daemon.h +++ b/src/sd-daemon.h @@ -126,9 +126,9 @@ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t * little value in signalling non-readiness the only * value daemons should send is "READY=1". * - * STATUS=... Passes a status string back to systemd that - * describes the daemon state. This is free-from and - * can be used for various purposes: general state + * STATUS=... Passes a single-line status string back to systemd + * that describes the daemon state. This is free-from + * and can be used for various purposes: general state * feedback, fsck-like programs could pass completion * percentages and failing programs could pass a human * readable error message. Example: "STATUS=Completed @@ -143,6 +143,12 @@ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t * MAINPID=... The main pid of a daemon, in case systemd did not * fork off the process itself. Example: "MAINPID=4711" * + * Daemons can choose to send additional variables. + * + * Returns a negative errno-style error code on failure. Returns > 0 + * if systemd could be notified, 0 if it couldn't possibly because + * systemd is not running. + * * See sd_notifyf() for more complete examples. */ int sd_notify(int unset_environment, const char *state); |