Re: epoll (was Re: [PATCH] async poll for 2.5)

From: John Gardiner Myers (jgmyers@netscape.com)
Date: Thu Oct 17 2002 - 13:06:05 EST


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.



-
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/



This archive was generated by hypermail 2b29 : Wed Oct 23 2002 - 22:00:36 EST