Re: [PATCH v2 2/4] exit: support non-blocking pidfds

From: Oleg Nesterov
Date: Thu Sep 03 2020 - 10:48:39 EST


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>