Messages in this thread | | | Date | Thu, 17 Oct 2002 11:06:05 -0700 | From | John Gardiner Myers <> | Subject | Re: epoll (was Re: [PATCH] async poll for 2.5) |
| |
Davide Libenzi wrote:
>>Nonsense. If you wish to make such a claim, you need to provide an >>example of a situation in which it won't work. >> >> > >Your welcome. This is your code : > >for (;;) { > fd = event_wait(...); > while (do_io(fd) != EAGAIN); >} > >If the I/O space is not exhausted when you call event_wait(...); you'll >never receive the event because you'll be waiting a 0->1 transaction >without bringing the signal to 0 ( I/O space exhausted ). > My code above does exhaust the I/O space.
> That one is a >typical use of poll() - select() - /dev/poll and you showed pretty clearly >that you do not seem to understand edge triggered event APIs. If you code >your I/O function like : > >int my_io(...) { > > if (event_wait(...)) > do_io(...); > >} > This is not how my example is coded.
while (do_io(...) != EAGAIN);
is not equivalent to:
do_io(...);
The former is guaranteed to exhaust the I/O space, the latter is not.
You're spouting nonsense.
[unhandled content-type:application/x-pkcs7-signature] | |