LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Neil Brown <neilb@cse.unsw.edu.au>
To: Alex Pennace <alex@pennace.org>
Cc: Bernd Eckenfels <ecki@lina.inka.de>, linux-kernel@vger.kernel.org
Subject: Re: Desperately missing a working "pselect()" or similar...
Date: Sat, 6 Oct 2001 09:22:00 +1000 (EST) [thread overview]
Message-ID: <15294.16536.430907.650513@notabene.cse.unsw.edu.au> (raw)
In-Reply-To: message from Alex Pennace on Friday October 5
In-Reply-To: <3BBDD37D.56D7B359@isg.de> <E15pbid-0007fi-00@calista.inka.de> <20011005190523.A6516@buick.pennace.org>
On Friday October 5, alex@pennace.org wrote:
> On Fri, Oct 05, 2001 at 10:36:53PM +0200, Bernd Eckenfels wrote:
> > In article <3BBDD37D.56D7B359@isg.de> you wrote:
> > > Without a proper pselect() implementation (the one in glibc is just
> > > a mock-up that doesn't prevent the race condition) I'm currently
> > > unable to come up with a good idea on how to wait on both types
> > > of events.
> >
> > Isnt select() returning with EINTR?
>
> The select system call doesn't return EINTR when the signal is caught
> prior to entry into select.
A technique I used in a similar situation once went something like:
tv.tv_sec=bignum;
tv.tv_usec = 0;
enable_signals();
select(nfds, &readfds,&writefds,0,&tv);
and have the signal handlers set tv.tv_sec to 0. (tv is a global
variable).
Then if the signal comes before the select, the select exits
immediately.
NeilBrown
next prev parent reply other threads:[~2001-10-05 23:22 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-05 15:36 lkv
2001-10-05 16:19 ` Alexander Viro
2001-10-05 16:28 ` lkv
2001-10-05 16:36 ` Christopher Friesen
2001-10-05 16:40 ` lkv
2001-10-05 20:37 ` Bernd Eckenfels
2001-10-05 23:05 ` Alex Pennace
2001-10-05 23:13 ` Alan Cox
2001-10-05 23:52 ` Alex Pennace
2001-10-05 23:22 ` Neil Brown [this message]
2001-10-05 23:30 ` Alex Pennace
2001-10-05 23:43 ` David Schwartz
2001-10-06 0:03 ` Alan Cox
2001-10-08 16:32 lkv
2001-10-08 16:44 ` Alan Cox
2001-10-08 17:06 ` lkv
2001-10-08 17:24 ` Alan Cox
2001-10-09 13:37 ` Jan Hudec
2001-10-13 16:05 ` Jamie Lokier
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=15294.16536.430907.650513@notabene.cse.unsw.edu.au \
--to=neilb@cse.unsw.edu.au \
--cc=alex@pennace.org \
--cc=ecki@lina.inka.de \
--cc=linux-kernel@vger.kernel.org \
--subject='Re: Desperately missing a working "pselect()" or similar...' \
/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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).