Hi Adhemerval, I was checking the epoll_pwait2(2) man page to see if it needs some updating for the wrapper you added recently. It seems all's good. However, I noticed that there's a difference between the current manual page and the glibc wrappers for the 3 related functions: $ grepc -x /sys/epoll.h$ epoll_wait /usr/include/ /usr/include/x86_64-linux-gnu/sys/epoll.h:124: extern int epoll_wait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout) __attr_access ((__write_only__, 2, 3)); $ grepc -x /sys/epoll.h$ epoll_pwait /usr/include/ /usr/include/x86_64-linux-gnu/sys/epoll.h:134: extern int epoll_pwait (int __epfd, struct epoll_event *__events, int __maxevents, int __timeout, const __sigset_t *__ss) __attr_access ((__write_only__, 2, 3)); $ grepc -x /sys/epoll.h$ epoll_pwait2 /usr/include/ /usr/include/x86_64-linux-gnu/sys/epoll.h:144: extern int epoll_pwait2 (int __epfd, struct epoll_event *__events, int __maxevents, const struct timespec *__timeout, const __sigset_t *__ss) __attr_access ((__write_only__, 2, 3)); /usr/include/x86_64-linux-gnu/sys/epoll.h:157: # define epoll_pwait2 __epoll_pwait2_time64 The man page synopsis is: SYNOPSIS #include int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout); int epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *_Nullable sigmask); int epoll_pwait2(int epfd, struct epoll_event *events, int maxevents, const struct timespec *_Nullable timeout, const sigset_t *_Nullable sigmask); I didn't use _Nullable in the events parameter, because I don't think it can be NULL. Does it make any sense in any case having a NULL there? Should we use nonnull in glibc? Cheers, Alex -- GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5