Re: No NONBLOCK flag for dup3() or epoll_create1()?

From: Ulrich Drepper
Date: Mon Sep 01 2008 - 20:35:07 EST


On Wed, Aug 20, 2008 at 9:49 AM, Michael Kerrisk
<mtk.manpages@xxxxxxxxxxxxxx> wrote:
> I've been doing some testing (2.6.27-rc3) of your new
> file-descriptor-creating syscalls that accept flags. According to
>
> http://udrepper.livejournal.com/20407.html
>
> all of the system calls should accept a *_NONBLOCK flag.

This was never the intention.


> For epoll_create1() this certainly appears to be an oversight, since I can't
> think of a reason not to support *_NONBLOCK.

I can. There is already a method to not block (zero timeout). We
should not provide multiple ways to get the same functionality. It
would require changes in the epoll code as well. That's not worth it.


> (Furthermore, given a open file description for which O_NONBLOCK is
> already enabled, it is not possible to make a dup3() call that disables
> O_NONBLOCK, which is an odd asymmetry in the API.)

That's why I didn't add support for the flag. It's hardly useful to
add this support.
--
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/