Re: [RESEND][RFC PATCH v2] waitfd

From: Casey Dahlin
Date: Sat Jan 10 2009 - 16:21:32 EST


Scott James Remnant wrote:
On Thu, 2009-01-08 at 15:36 -0500, Casey Dahlin wrote:

Roland McGrath wrote:
Since waitfd shouldn't consume the child termination notification
waitfd should be more widely usable than the wait*() interfaces.
waitid can be used that way with WNOWAIT.
Yes, but waitfd does not have this flag. The reason being waitfd just
calls waitid internally, and there is no guarantee (afaik) that
calling waitid with WNOWAIT multiple times in succession will yield
different results each time. This breaks the streaming behavior of the
descriptor.

This would definitely be a Nice To Have though!

Being able to use waitid() on another process of the same uid, with
WNOHANG, in a streaming fashion would be a *very* cool thing.

Scott
That could be done in a separate patch for waitid itself, and its a simple change to propagate it through waitfd (just one less EINVAL case). In terms of waitfd we'd be supersetting the interface, so its no big deal to add. In terms of waitid I'd have to check and make sure that we wouldn't be breaking compliance by allowing it to return something different on every call (this would likely affect cases where waitid(WNOWAIT) was used even in a normal fashion as well).

--CJD
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/