Messages in this thread | | | Subject | Re: epoll (was Re: [PATCH] async poll for 2.5) | From | "Charles 'Buck' Krasic" <> | Date | 18 Oct 2002 21:07:49 -0700 |
| |
jgmyers@netscape.com (John Myers) writes:
> Close. What we would have is a modification of the epoll_addf() > semantics such that it would have an additional postcondition that if > the new_fd is in the ready state (has data available) then at least > one notification has been generated. In the code above, the three > lines comprising the if statement labeled "7*" would be removed.
I see.
I assume the kernel implementation is no big deal: epoll_addf() has to call the kernel internal equivalent to poll() with a zero timeout.
This wouldn't break the first "solution" in my earlier post, but it would cause every new connection to experience one extra EAGAIN.
I see three possibilities:
1) keep the current epoll_addf() 2) modify it as John suggests, posting the initial ready state in the next epoll_getevents() 3) both: add an option to epoll_addf() that says which of 1 or 2 is desired.
-- Buck
How hard would it be to modify the current epoll code to work that way? I'd assume it's just a matter having epoll_addf call the legacy poll() code to check the condition (with a zero timeout).
-- Buck
- 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/
| |