Davide Libenzi wrote:The attached patch implements the pepoll_wait system call, that extend
the event wait mechanism with the same logic ppoll and pselect do. The
definition of pepoll_wait is: [...]
I definitely ACK this patch, it's needed for the same reasons we need
pselect and ppoll.
+ if (error == -EINTR) {
+ if (sigmask) {
+ memcpy(¤t->saved_sigmask, &sigsaved, sizeof(sigsaved));
+ set_thread_flag(TIF_RESTORE_SIGMASK);
+ }
+ } else if (sigmask)
+ sigprocmask(SIG_SETMASK, &sigsaved, NULL);
This part I'd clean up a bit, though. Move the if (sigmask) test to the
top and have the EINTR test decide what to do. As is the code would be
a bit irritating if it wouldn't be so trivial. The important thing is
that you only do something special if sigmask != NULL.