Re: [take24 0/6] kevent: Generic event handling mechanism.

From: Evgeniy Polyakov
Date: Tue Nov 21 2006 - 13:52:30 EST


On Tue, Nov 21, 2006 at 08:43:34PM +0300, Evgeniy Polyakov (johnpol@xxxxxxxxxxx) wrote:
> > I've explained this multiple times. The struct sigevent structure needs
> > to be extended to get a new part in the union. Something like
> >
> > struct {
> > int kevent_fd;
> > void *data;
> > } _sigev_kevent;
> >
> > Then define SIGEV_KEVENT as a value distinct from the other SIGEV_
> > values. In the code which handles setup of timers (the timer_create
> > syscall), recognize SIGEV_KEVENT and handle it appropriately. I.e.,
> > call into the code to register the event source, just like you'd do with
> > the current interface. Then add the code to post an event to the event
> > queue where currently signals would be sent et voilÃ.
>
> Ok, I see.
> It is doable and simple.
> I will try to implement it tomorrow.

I've checked the code.
Since it will be a union, it is impossible to use _sigev_thread and it
becomes just SIGEV_SIGNAL case with different delivery mechanism.
Is it what you want?

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