Re: CommitFest 2009-07: Yay, Kevin! Thanks, reviewers!
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Greg Smith <greg@2ndquadrant.com>, Kevin Grittner <kevin.grittner@wicourts.gov>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-08-19T16:16:42Z
Lists: pgsql-hackers
On 19/08/10 18:08, Alvaro Herrera wrote: > Excerpts from Heikki Linnakangas's message of jue ago 19 02:02:34 -0400 2010: >> On 19/08/10 04:46, Robert Haas wrote: > >>> And so far we haven't seen a patch for that. >>> Somebody write one. And then let's get it reviewed and committed RSN. >> >> Fujii is on vacation, but I've started working on it. The two issues >> with Fujii's latest patch are that it would not respond promptly on >> platforms where signals don't interrupt sleep, and it suffers the >> classic race condition that pselect() was invented for. I'm going to >> replace pg_usleep() with select(), and use the so called "self-pipe >> trick" to get over the race condition. I have that written up but I want >> to do some testing and cleanup before posting the patch. > > Hmm, IIRC the self-pipe trick doesn't work on Windows, mainly because > select() doesn't handle pipes, only sockets. You may need some extra > hack to make it work there. That's fine, we can do the naive set-a-flag implementation on Windows because on Windows our "signals" are only delivered at CHECK_FOR_INTERRUPTS(), so we don't have the race condition to begin with. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com