]> git.ozlabs.org Git - ccan/blobdiff - ccan/failtest/failtest.c
failtest: handle EINTR from poll.
[ccan] / ccan / failtest / failtest.c
index 0f2ab0c7f2cda15464d0ee7dc81b16d34e25b602..7a6f5220e60cd5ed7d1035922b267751c999a84e 100644 (file)
@@ -483,8 +483,13 @@ static bool should_fail(struct failtest_call *call)
                else
                        ret = poll(pfd, 2, failtest_timeout_ms);
 
                else
                        ret = poll(pfd, 2, failtest_timeout_ms);
 
-               if (ret <= 0)
+               if (ret == 0)
                        hand_down(SIGUSR1);
                        hand_down(SIGUSR1);
+               if (ret < 0) {
+                       if (errno == EINTR)
+                               continue;
+                       err(1, "Poll returned %i", ret);
+               }
 
                if (pfd[0].revents & POLLIN) {
                        ssize_t len;
 
                if (pfd[0].revents & POLLIN) {
                        ssize_t len;