From: Tom Gundersen Date: Mon, 25 Aug 2014 22:22:06 +0000 (+0200) Subject: sd-event: sd_event_prepare - stay in PREPARED if sd_event_wait() indicates that no... X-Git-Tag: v217~776 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=6d148a842ebb04a9a9bc2853e167a9d8eddf8cd8 sd-event: sd_event_prepare - stay in PREPARED if sd_event_wait() indicates that no sources are pending --- diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index a71962c24..32777e386 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -2256,7 +2256,11 @@ _public_ int sd_event_prepare(sd_event *e) { pending: e->state = SD_EVENT_PREPARED; - return sd_event_wait(e, 0); + r = sd_event_wait(e, 0); + if (r == 0) + e->state = SD_EVENT_PREPARED; + + return r; } _public_ int sd_event_wait(sd_event *e, uint64_t timeout) {