X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Fwaiter%2Fwaiter.c;h=d684348f4fc9566be5bc6ab9023793b169e5580f;hp=e201ad1fbdab2b209cf720d58313f2259d823b97;hb=c7e26c27c7e029e6670dfebc8f27d9295e9fdeb7;hpb=e52a8c61a640ab4fce0b4caaa796ae3e1c4ff8a3 diff --git a/lib/waiter/waiter.c b/lib/waiter/waiter.c index e201ad1..d684348 100644 --- a/lib/waiter/waiter.c +++ b/lib/waiter/waiter.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -222,11 +223,13 @@ int waiter_poll(struct waitset *set) timeout_ms = -1; } - rc = poll(set->pollfds, set->n_io_waiters, timeout_ms); - if (rc < 0) + if (rc < 0) { + if (errno == EINTR) + rc = 0; goto out; + } for (i = 0; i < set->n_io_waiters; i++) { struct waiter *waiter = set->io_waiters[i];