On 09/02, Christian Brauner wrote: > > It also makes the API more consistent and uniform. In essence, waitid() is > treated like a read on a non-blocking pidfd or a recvmsg() on a non-blocking > socket. > With the addition of support for non-blocking pidfds we support the same > functionality that sockets do. For sockets() recvmsg() supports MSG_DONTWAIT > for pidfds waitid() supports WNOHANG. What I personally do not like is that waitid(WNOHANG) returns zero or EAGAIN depending on f_flags & O_NONBLOCK... This doesn't match recvmsg(MSG_DONTWAIT) and doesn't look consistent to me. Nevermind, the patch looks correct and if you think this can really help user-space I won't argue. Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx>