Re: Synchronous signal delivery..

Davide Libenzi
2003-02-15T01:07:44Z

On Sat, 15 Feb 2003, Matti Aarnio wrote:

> On Fri, Feb 14, 2003 at 04:00:03PM -0800, Davide Libenzi wrote:
> > On Thu, 13 Feb 2003, Linus Torvalds wrote:
> ....
> > > > > One of the reasons for the "flags" field (which is not unused) was because
> > > > > I thought it might have extensions for things like alarms etc.
> > > > I was thinking more like :
> > > >
> > > > int timerfd(int timeout, int oneshot);
> > >
> > > It could be a separate system call, ...
> >
> > I would personally like it a lot to have timer events available on
> > pollable fds. Am I alone in this ?
>
> Somehow all this idea has a feeling of long established
> Linux kernel facility called: netlink
>
> It can send varying messages to userspace via a file-handle, and is
> pollable. Originally that is for network codes, and therefore it
> already has protocol capable to handle multiple different formats,
> handle queue saturation, etc.
>
> Do we need new syscall(s) ? Could it all be done with netlink ?

The ( evntually ) new syscall do not have to implement anything special
about queue and message delivery, the f_op->poll() support will be
sufficent to have them working with select/poll/epoll. About netlink, I
personally find it quite confusing with respect of simple syscalls like :

int sigfd(...);
int timerfd(...);

Netlink is quite powerfull because of its generic message passing
infrastructure, that is IMHO overkilling when you simply have to receive
one timer/signal event. I personally do not like the idea of multiplexing
APIs, expecially ones that did not born with that purposes.

- Davide