Messages in this thread | | | Date | Thu, 05 Apr 2012 15:30:59 -0700 | From | Andy Lutomirski <> | Subject | Re: [PATCH Resend] epoll: add EPOLLEXCLUSIVE support |
| |
On 03/29/2012 08:05 AM, Hagen Paul Pfeifer wrote: > * Jason Baron | 2012-03-29 10:16:53 [-0400]: > >> Right, for level triggered events, they all wait up. However, if you use >> edge triggered, ie add 'EPOLLET', then the event gets 'consumed' by the >> first thread that wakes up, and the subseqent waiters wouldn't get woken >> up. IE you'll get one wakeup. > > I addressed level triggered, right - it match the model. But I don't wanted to > wake up every every thread anyway. I don't want to abandon level triggered > functioning.
I think that what you want is a mode in which, once epoll_wait returns, the bits it returns get cleared from the event mask. Am I right?
(To get this right, you'd need another flag that disables the automatic addition of POLLERR and POLLHUP.)
If you do that and add an extra syscall that simultaneously does a bunch of epoll_ctls, a timerfd_settime, and an epoll_wait, I'll be extra happy.
--Andy
| |