sd-resolve: propagate timeouts in sd_resolve_wait() the same way as in sd_bus_wait...
authorLennart Poettering <lennart@poettering.net>
Mon, 27 Nov 2017 15:28:53 +0000 (16:28 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 27 Nov 2017 16:08:34 +0000 (17:08 +0100)
Thankfully this is an internal API still, so we can mkae changes like
this.

src/basic/io-util.c
src/libsystemd/sd-resolve/sd-resolve.c

index 98bb185..77c9bdc 100644 (file)
@@ -200,7 +200,6 @@ int fd_wait_for_event(int fd, int event, usec_t t) {
         r = ppoll(&pollfd, 1, t == USEC_INFINITY ? NULL : timespec_store(&ts, t), NULL);
         if (r < 0)
                 return -errno;
-
         if (r == 0)
                 return 0;
 
index 986768e..61a0a4c 100644 (file)
@@ -890,6 +890,8 @@ _public_ int sd_resolve_wait(sd_resolve *resolve, uint64_t timeout_usec) {
 
         if (r < 0)
                 return r;
+        if (r == 0)
+                return -ETIMEDOUT;
 
         return sd_resolve_process(resolve);
 }