Messages in this thread | | | Date | Tue, 21 Nov 2006 21:46:05 +0300 | From | Evgeniy Polyakov <> | Subject | Re: [take24 0/6] kevent: Generic event handling mechanism. |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |