Re: Synchronization primitives (Was: Re: An example of bugs for Hot Standby)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Andres Freund <andres@anarazel.de>, Simon Riggs <simon@2ndquadrant.com>, pgsql-hackers@postgresql.org, Hiroyuki Yamada <yamada@kokolink.net>
Date: 2010-01-20T19:07:00Z
Lists: pgsql-hackers
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. regards, tom lane