• Davide Libenzi's avatar
    [PATCH] epoll_pwait() · b611967d
    Davide Libenzi authored
    Implement the epoll_pwait system call, that extend the event wait mechanism
    with the same logic ppoll and pselect do.  The definition of epoll_pwait
    is:
    
    int epoll_pwait(int epfd, struct epoll_event *events, int maxevents,
                     int timeout, const sigset_t *sigmask, size_t sigsetsize);
    
    The difference between the vanilla epoll_wait and epoll_pwait is that the
    latter allows the caller to specify a signal mask to be set while waiting
    for events.  Hence epoll_pwait will wait until either one monitored event,
    or an unmasked signal happen.  If sigmask is NULL, the epoll_pwait system
    call will act exactly like epoll_wait.  For the POSIX definition of
    pselect, information is available here:
    
    http://www.opengroup.org/onlinepubs/009695399/functions/select.htmlSigned-off-by: default avatarDavide Libenzi <davidel@xmailserver.org>
    Cc: David Woodhouse <dwmw2@infradead.org>
    Cc: Andi Kleen <ak@muc.de>
    Cc: Michael Kerrisk <mtk-manpages@gmx.net>
    Cc: Ulrich Drepper <drepper@redhat.com>
    Cc: Roland McGrath <roland@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    b611967d
unistd.h 13.1 KB