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

Evgeniy Polyakov
2006-11-21T18:52:03Z

On Tue, Nov 21, 2006 at 08:43:34PM +0300, Evgeniy Polyakov (johnpol@2ka.mipt.ru) 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