Re: Interruptible sleeps (was Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Markus Wanner <markus@bluegap.ch>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Fujii Masao <masao.fujii@gmail.com>, pgsql-hackers@postgresql.org, Magnus Hagander <magnus@hagander.net>
Date: 2010-09-06T18:46:30Z
Lists: pgsql-hackers
Markus Wanner <markus@bluegap.ch> writes:
> Is pselect() really as unportable as stated in the patch? What platforms
> have problems with pselect()?
Well, it's not defined in the Single Unix Spec, which is our customary
reference for portability. Also, it's alleged that some platforms have
it but in a form that's not actually any safer than select(). For
example, I read in the Darwin man page for it
IMPLEMENTATION NOTES
The pselect() function is implemented in the C library as a wrapper
around select().
and that man page appears to be borrowed verbatim from FreeBSD.
> Using the self-pipe trick, don't we risk running into the open file
> handles limitation? Or is it just two handles per process?
It's just two handles per process.
regards, tom lane