On Tue, 2007-09-11 at 19:32 +0200, Florian G. Pflug wrote:
> Simon Riggs wrote:
> > On Tue, 2007-09-11 at 10:21 -0400, Tom Lane wrote:
> >> Simon Riggs <[EMAIL PROTECTED]> writes:
> >>> 1. The ProcArrayLock is acquired Exclusive-ly by only one 
> >>> remaining operation: XidCacheRemoveRunningXids(). Reducing things
> >>>  to that level is brilliant work, Florian and Tom.
> >> It would be brilliant if it were true, but it isn't.  Better look 
> >> again.
> > 
> > On the more detailed explanation, I say "in normal operation".
> > 
> > My analytical notes attached to the original post show ProcArrayLock 
> > is acquired exclusively during backend start, exit and while making a
> >  prepared (twophase) commit. So yes, it is locked Exclusively in 
> > other places, but they happen rarely and they actually add/remove 
> > procs from the array, so its unlikely anything can change there 
> > anyhow.
> 
> Well, and during normal during COMMIT and ABORT, which might happen
> rather frequently ;-)

Agreed, that part of my assessment was not accurate...

-- 
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to