On Wed, 2010-01-20 at 11:04 +0100, Andres Freund wrote:
> On Wednesday 20 January 2010 10:52:24 Simon Riggs wrote:
> > On Wed, 2010-01-20 at 10:45 +0100, Andres Freund wrote:
> > > LWLockAcquire
> >
> > I'm using spinlocks, not lwlocks.
> CancelDBBackends which is used in SendRecoveryConflictWithBufferPin which in
> turn used by CheckStandbyTimeout triggered by SIGALRM acquires the lwlock.
Those are used in similar ways to deadlock detection.
> Now that case is a bit less dangerous because you would have to interrupt
> yourself to trigger a deadlock there because the code sleeps soon after
> setting up the handler.
> If ever two SIGALRM occur consecutive there is a problem.
I'll protect against subsequent calls.
-- Simon Riggs www.2ndQuadrant.com