Re: Synchronization primitives (Was: Re: An example of bugs for Hot Standby)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org, Hiroyuki Yamada <yamada(at)kokolink(dot)net>
Subject: Re: Synchronization primitives (Was: Re: An example of bugs for Hot Standby)
Date: 2010-01-20 19:07:00
Message-ID: 17505.1264014420@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2010-01-20 19:09:47 Re: [NOVICE] Python verison for build in config.pl (Win32)
Previous Message Heikki Linnakangas 2010-01-20 18:49:03 Re: Synchronization primitives (Was: Re: An example of bugs for Hot Standby)