From: jgmyers@netscape.com (John Myers)
To: Dan Kegel <dank@kegel.com>
Cc: Davide Libenzi <davidel@xmailserver.org>,
Benjamin LaHaise <bcrl@redhat.com>,
Shailabh Nagar <nagar@watson.ibm.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-aio <linux-aio@kvack.org>, Andrew Morton <akpm@digeo.com>,
David Miller <davem@redhat.com>,
Linus Torvalds <torvalds@transmeta.com>,
Stephen Tweedie <sct@redhat.com>
Subject: epoll (was Re: [PATCH] async poll for 2.5)
Date: Thu, 17 Oct 2002 10:43:56 -0700 [thread overview]
Message-ID: <3DAEF6DC.9000708@netscape.com> (raw)
In-Reply-To: 3DADC5F8.60708@kegel.com
[-- Attachment #1: Type: text/plain, Size: 959 bytes --]
Dan Kegel wrote:
> As long as we agree that the kernel may provide spurious readiness
> notifications on occasion, I agree.
Great! We agree! Progress!
>>> while (read() == EAGAIN)
>>> wait(POLLIN);
>>>
>> Assuming registration of interest is inside wait(), this has a race.
>> If the file becomes readable between the time that read() returns and
>> the time that wait() can register interest, the connection will hang.
>
>
> Shouldn't the should be rearmed inside read() when it returns EAGAIN?
The key phrase is "assuming registration of interest is inside wait()."
The code fragment didn't cover when registration of interest occurs.
If registration of interest occurs before the read() or if registration
of interest while the fd is ready generates an event, there is no race.
If registration of interest occurs after the read() and registration of
interest while the fd is ready does not generate an event, there is a race.
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/x-pkcs7-signature, Size: 3537 bytes --]
next prev parent reply other threads:[~2002-10-17 17:38 UTC|newest]
Thread overview: 138+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-14 22:36 [PATCH] async poll for 2.5 Shailabh Nagar
2002-10-14 22:54 ` John Myers
2002-10-15 15:05 ` Benjamin LaHaise
2002-10-15 17:06 ` Dan Kegel
2002-10-15 17:03 ` Benjamin LaHaise
2002-10-15 17:18 ` Dan Kegel
2002-10-16 2:11 ` Lincoln Dale
2002-10-15 18:09 ` Shailabh Nagar
2002-10-15 18:53 ` Dan Kegel
2002-10-15 18:57 ` Benjamin LaHaise
2002-10-15 20:25 ` John Gardiner Myers
2002-10-15 21:09 ` Dan Kegel
2002-10-15 21:50 ` John Myers
2002-10-15 22:33 ` Davide Libenzi
2002-10-15 22:56 ` John Gardiner Myers
2002-10-15 23:23 ` Davide Libenzi
2002-10-16 19:16 ` John Myers
2002-10-15 21:11 ` Davide Libenzi
2002-10-15 22:01 ` John Gardiner Myers
2002-10-15 22:27 ` Davide Libenzi
2002-10-15 22:36 ` John Gardiner Myers
2002-10-15 22:41 ` Benjamin LaHaise
2002-10-15 23:26 ` John Gardiner Myers
2002-10-15 23:05 ` Davide Libenzi
2002-10-15 23:33 ` John Gardiner Myers
2002-10-16 0:05 ` Davide Libenzi
2002-10-16 0:15 ` John Myers
2002-10-16 14:25 ` Davide Libenzi
2002-10-16 18:15 ` John Gardiner Myers
2002-10-16 19:20 ` Davide Libenzi
2002-10-16 23:31 ` epoll (was Re: [PATCH] async poll for 2.5) John Gardiner Myers
2002-10-16 23:51 ` Davide Libenzi
2002-10-17 18:06 ` John Gardiner Myers
2002-10-17 18:33 ` Davide Libenzi
2002-10-18 19:02 ` John Gardiner Myers
2002-10-18 19:52 ` Davide Libenzi
2002-10-19 0:55 ` John Myers
2002-10-19 5:40 ` Davide Libenzi
2002-10-19 6:59 ` Mark Mielke
2002-10-19 17:26 ` Davide Libenzi
2002-10-19 17:48 ` Dan Kegel
2002-10-19 18:52 ` Charles 'Buck' Krasic
2002-10-19 20:18 ` Charles 'Buck' Krasic
2002-10-19 21:08 ` Dan Kegel
2002-10-22 19:35 ` John Gardiner Myers
2002-10-22 20:06 ` Davide Libenzi
2002-10-22 21:54 ` Erich Nahum
2002-10-22 22:17 ` Dan Kegel
2002-10-22 22:25 ` Davide Libenzi
2002-10-18 21:01 ` Charles 'Buck' Krasic
2002-10-18 21:33 ` Davide Libenzi
2002-10-19 1:05 ` John Myers
2002-10-19 1:27 ` Tervel Atanassov
2002-10-19 18:52 ` John G. Myers
2002-10-19 4:07 ` Charles 'Buck' Krasic
2002-10-16 20:06 ` [PATCH] async poll for 2.5 Mark Mielke
2002-10-16 23:48 ` epoll (was Re: [PATCH] async poll for 2.5) John Gardiner Myers
2002-10-17 0:23 ` Davide Libenzi
2002-10-17 17:45 ` John Myers
2002-10-16 2:45 ` [PATCH] async poll for 2.5 Charles 'Buck' Krasic
2002-10-16 14:28 ` Davide Libenzi
2002-10-17 18:47 ` Charles 'Buck' Krasic
2002-10-17 19:20 ` Davide Libenzi
2002-10-18 3:30 ` Dan Kegel
2002-10-16 18:29 ` John Gardiner Myers
2002-10-16 20:39 ` Charles 'Buck' Krasic
2002-10-17 17:59 ` epoll (was Re: [PATCH] async poll for 2.5) John Gardiner Myers
2002-10-21 16:58 ` [PATCH] async poll for 2.5 Alan Cox
2002-10-21 16:50 ` Benjamin LaHaise
2002-10-16 19:59 ` Dan Kegel
2002-10-16 20:03 ` Dan Kegel
2002-10-17 17:43 ` John Myers [this message]
2002-10-18 17:00 ` epoll (was Re: [PATCH] async poll for 2.5) Mark Mielke
2002-10-18 17:28 ` Dan Kegel
2002-10-18 17:41 ` Davide Libenzi
2002-10-18 18:55 ` Mark Mielke
2002-10-18 19:16 ` Davide Libenzi
2002-10-19 6:56 ` Mark Mielke
2002-10-19 16:10 ` Charles 'Buck' Krasic
2002-10-22 17:22 ` Mark Mielke
2002-10-22 17:46 ` Dan Kegel
2002-10-22 17:47 ` Davide Libenzi
2002-10-22 18:13 ` Alan Cox
2002-10-22 18:18 ` Davide Libenzi
2002-10-22 18:37 ` Benjamin LaHaise
2002-10-22 19:49 ` Davide Libenzi
2002-10-22 19:22 ` John Gardiner Myers
2002-10-22 19:28 ` Benjamin LaHaise
2002-10-22 19:50 ` John Gardiner Myers
2002-10-22 20:00 ` Benjamin LaHaise
2002-10-23 11:10 ` Latest aio code " Suparna Bhattacharya
2002-10-22 20:23 ` async poll John Myers
2002-10-22 18:42 ` epoll (was Re: [PATCH] async poll for 2.5) Charles 'Buck' Krasic
2002-10-22 19:35 ` Davide Libenzi
2002-10-23 16:49 ` Dan Kegel
2002-10-23 17:39 ` Benjamin LaHaise
2002-10-23 18:47 ` Davide Libenzi
2002-10-23 21:18 ` Benjamin LaHaise
2002-10-23 21:35 ` Davide Libenzi
2002-10-23 21:39 ` John Gardiner Myers
2002-10-23 21:54 ` Davide Libenzi
2002-10-23 17:49 ` Charles 'Buck' Krasic
2002-10-23 18:14 ` Davide Libenzi
2002-10-23 18:32 ` Charles 'Buck' Krasic
2002-10-23 20:36 ` async poll John Myers
2002-10-23 20:57 ` Dan Kegel
2002-10-23 21:13 ` Charles 'Buck' Krasic
2002-10-23 21:23 ` John Gardiner Myers
2002-10-23 21:51 ` Davide Libenzi
2002-10-23 21:51 ` bert hubert
2002-10-23 22:10 ` Davide Libenzi
2002-10-23 21:54 ` John Gardiner Myers
2002-10-23 22:22 ` Davide Libenzi
2002-10-23 22:29 ` John Gardiner Myers
2002-10-23 22:50 ` Davide Libenzi
2002-10-24 7:32 ` Eduardo Pérez
2002-10-24 15:05 ` Charles 'Buck' Krasic
2002-10-23 22:24 ` Dan Kegel
2002-10-23 22:30 ` Davide Libenzi
2002-10-23 22:53 ` Davide Libenzi
2002-10-19 17:19 ` epoll (was Re: [PATCH] async poll for 2.5) Davide Libenzi
2002-10-18 18:55 ` Chris Friesen
2002-10-18 19:00 ` Mark Mielke
2002-10-15 17:38 ` [PATCH] async poll for 2.5 Shailabh Nagar
2002-10-15 17:50 ` Benjamin LaHaise
2002-10-15 18:16 ` Davide Libenzi
2002-10-15 18:18 ` Shailabh Nagar
2002-10-15 19:00 ` Davide Libenzi
2002-10-15 19:02 ` Benjamin LaHaise
2002-10-15 18:59 ` Shailabh Nagar
2002-10-15 19:16 ` Davide Libenzi
2002-10-15 19:12 ` Benjamin LaHaise
2002-10-15 19:31 ` Davide Libenzi
2002-10-15 19:38 ` Dan Kegel
2002-10-15 19:55 ` Davide Libenzi
2002-10-15 20:36 ` John Gardiner Myers
2002-10-15 20:39 ` Benjamin LaHaise
2002-10-15 19:02 ` Davide Libenzi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3DAEF6DC.9000708@netscape.com \
--to=jgmyers@netscape.com \
--cc=akpm@digeo.com \
--cc=bcrl@redhat.com \
--cc=dank@kegel.com \
--cc=davem@redhat.com \
--cc=davidel@xmailserver.org \
--cc=linux-aio@kvack.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nagar@watson.ibm.com \
--cc=sct@redhat.com \
--cc=torvalds@transmeta.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.