]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: test-resolve: wait until all queries are completed 2285/head
authorEvgeny Vereshchagin <evvers@ya.ru>
Thu, 7 Jan 2016 14:03:05 +0000 (14:03 +0000)
committerEvgeny Vereshchagin <evvers@ya.ru>
Thu, 7 Jan 2016 14:12:03 +0000 (14:12 +0000)
This is a follow-up for 4a134c4903dbf6ef6c6a

Fixes:

$ ./test-resolve
209.132.183.105:80
209.132.183.105:80
canonical name: n/a
193.99.144.85:0
[2a02:2e0:3fe:1001:7777:772e:2:85]:0
canonical name: www.heise.de
Host: web.heise.de -- Serv: http

$ ./test-resolve
193.99.144.85:0
[2a02:2e0:3fe:1001:7777:772e:2:85]:0
canonical name: www.heise.de
Host: web.heise.de -- Serv: http

$ ./test-resolve
...

src/libsystemd/sd-resolve/test-resolve.c

index e78a75c9eaa87a3c067674d06c79d215e96cd928..ce97e81ed6c0c4a11c98068ce98f7ab100d0e426 100644 (file)
@@ -101,11 +101,11 @@ int main(int argc, char *argv[]) {
         if (r < 0)
                 log_error_errno(r, "sd_resolve_getnameinfo(): %m");
 
-        /* Wait until the two queries are completed */
-        while (sd_resolve_query_is_done(q1) == 0 ||
-               sd_resolve_query_is_done(q2) == 0) {
-
+        /* Wait until all queries are completed */
+        for (;;) {
                 r = sd_resolve_wait(resolve, (uint64_t) -1);
+                if (r == 0)
+                        break;
                 if (r < 0) {
                         log_error_errno(r, "sd_resolve_wait(): %m");
                         assert_not_reached("sd_resolve_wait() failed");