Re: [PATCH] eventfd, signalfd, timerfd, epoll_create w/flags

From: Davide Libenzi
Date: Sun Apr 27 2008 - 19:20:47 EST


On Sun, 27 Apr 2008, Ulrich Drepper wrote:

> In the absence of sys_indirect we need the following patches as well. These
> are all the event handling functions: epoll_create, signalfd, timerfd, eventd.
>
> There is good news and bad. The good news is that the timerfd interface
> already has a flags parameter. We just have to put it to use. It's IMO
> not a good idea to use the O_* values for any of the flag parameters so I
> introduced new macros for all the functions.
>
> For signalfd and eventfd no flags parameter is available in the syscall.
> But for the userlevel interfaces I have added such a parameter back when.
> They are just required to be zero so far. This means the new syscalls
> will completely transparently be used once glibc knows about them.
> Programs can start using the new flags and get told when the implementation
> doesn't support it.
>
> The bad case is epoll_create. Neither the kernel nor the userlevel interface
> has a flags parameter. So we need a new, additional interface. We could have
> one which differs from epoll_create only in that it returns a file descriptor
> with close-on-exec already set. I don't like that. Instead, the patch adds
> a new interface with a flags parameter. More flexibility in future.

Ok, I asked this myself for about ten minutes, than I gave up. But why
sys_epoll_createp() instead of sys_epoll_create2()? There MUST be a reason
to deviate from the standard of all the other ones...
The one between sys_indirect and syscall explosion is the battle of the
ugly.
Besides that, patches look fine to me (though w/out a very good reason, I
prefer sys_epoll_create2() instead of sys_epoll_createp()).



- Davide


--
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/