sd-daemon: extend return value logic of sd_notify()

This commit is contained in:
Lennart Poettering 2010-06-17 22:53:55 +02:00
parent bbe63281ea
commit 08bfb8106b
2 changed files with 12 additions and 8 deletions

View File

@ -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)

View File

@ -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);