Messages in this thread | | | Date | Tue, 22 Oct 2002 13:06:36 -0700 (PDT) | From | Davide Libenzi <> | Subject | Re: epoll (was Re: [PATCH] async poll for 2.5) |
| |
On Tue, 22 Oct 2002, John Gardiner Myers wrote:
> > > Dan Kegel wrote: > > > The choice I see is between: > > 1. re-arming the one-shot notification when the user gets EAGAIN > > 2. re-arming the one-shot notification when the user reads all the data > > that was waiting (such that the very next read would return EGAIN). > > > > #1 is what Davide wants; I think John and Mark are arguing for #2. > > No, this is not what I'm arguing. Once an event arrives for a fd, my > proposed semantics are no different than Mr. Libenzi's. The only > difference is what happens upon registration of interest for a fd. With > my semantics, the kernel guarantees that if the fd is ready then at > least one event has been generated. With Mr Libenzi's semantics, there > is no such guarantee and the application is required to behave as if an > event had been generated upon registration.
sed s/Mr. Libenzi/Davide/g ... I'm not that old :) There're a couple of reason's why the drop of the initial event is a waste of time :
1) The I/O write space is completely available at fd creation 2) For sockets it's very likely that the first packet brought something more than the SYN == The I/O read space might have something for you
I strongly believe that the concept "use the fd until EAGAIN" should be applied even at creation time, w/out making exceptions to what is the API's rule to follow.
- Davide
- 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/
| |