Re: Synchronization primitives (Was: Re: An example of bugs for Hot Standby)
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, Simon Riggs <simon@2ndquadrant.com>, pgsql-hackers@postgresql.org, Hiroyuki Yamada <yamada@kokolink.net>
Date: 2010-01-20T19:22:49Z
Lists: pgsql-hackers
Tom Lane wrote: > Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes: >> My point is that we should replace such polling loops with something >> non-polling, using wait/signal or semaphores or something. That gets >> quite a bit more complex. You'd probably still have the loop, but >> instead of pg_usleep() you'd call some new primitive function that waits >> until the shared variable changes. > > Maybe someday --- it's certainly not something we need to mess with for > 8.5. As Simon comments, getting it to work nicely in the face of corner > cases (like processes dying unexpectedly) could be a lot of work. Agreed, polling is good enough for 8.5. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com