From: Zbigniew Jędrzejewski-Szmek Date: Fri, 16 Nov 2018 07:43:43 +0000 (+0100) Subject: sd-event: make sd_event_source_get_enabled return more info X-Git-Tag: v240~312^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=08c1eb0e3099b785b20b6a433f2b876e03c26bb9;p=thirdparty%2Fsystemd.git sd-event: make sd_event_source_get_enabled return more info --- diff --git a/man/sd_event_source_set_enabled.xml b/man/sd_event_source_set_enabled.xml index 87c38707e11..73f01848d56 100644 --- a/man/sd_event_source_set_enabled.xml +++ b/man/sd_event_source_set_enabled.xml @@ -74,8 +74,10 @@ sd_event_source_get_enabled() may be used to query whether the event source object source is currently enabled or not. It - returns the enablement state in - enabled. + returns the enablement state (one of SD_EVENT_ON, + SD_EVENT_OFF, SD_EVENT_ONESHOT) + in enabled, if it is not NULL. + It also returns true if the event source is not disabled. Event source objects are enabled when they are first created with calls such as @@ -100,10 +102,10 @@ Return Value - On success, sd_event_source_set_enabled() and - sd_event_source_get_enabled() return a - non-negative integer. On failure, they return a negative - errno-style error code. + On success, sd_event_source_set_enabled() returns a non-negative + integer. sd_event_source_get_enabled() returns zero if the source is + disabled (SD_EVENT_OFF) and a positive integer otherwise. On failure, they + return a negative errno-style error code. diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 8762b7b89d9..66824c6c78d 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -2143,11 +2143,11 @@ fail: _public_ int sd_event_source_get_enabled(sd_event_source *s, int *m) { assert_return(s, -EINVAL); - assert_return(m, -EINVAL); assert_return(!event_pid_changed(s->event), -ECHILD); - *m = s->enabled; - return 0; + if (m) + *m = s->enabled; + return s->enabled != SD_EVENT_OFF; } _public_ int sd_event_source_set_enabled(sd_event_source *s, int m) {