On 27/08/10 10:39, Fujii Masao wrote:
On Thu, Aug 26, 2010 at 7:40 PM, Heikki Linnakangas
<heikki.linnakan...@enterprisedb.com>  wrote:
There's two kinds of latches, local and global. Local latches can only be
set from the same process - allowing you to replace pg_usleep() with
something that is always interruptible by signals (by setting the latch in
the signal handler). The global latches work the same, and indeed the
implementation is the same, but the latch resides in shared memory, and can
be set by any process attached to shared memory. On Unix, when you set a
latch waited for by another process, the setter sends SIGUSR1 to the waiting
process, and the signal handler sends the byte to the self-pipe to wake up
the select().

According to this explanation, the latch which walsender uses seems to be
local. If it's true, walsender should call InitSharedLatch rather than
InitLatch?

Yes, it should.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to