Re: Lock and Waiters - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Lock and Waiters
Date
Msg-id 20070801152217.GG6165@alvh.no-ip.org
Whole thread Raw
In response to Lock and Waiters  ("kenneth d'souza" <kd_souza@hotmail.com>)
List pgsql-hackers
kenneth d'souza wrote:

> <DIV>Let us imagine if there is Process P which is holding a lock and
> there are individual waiters p1 p2 p3 p4 p5 p6 requiring the same
> lock. Now since they are in conflict it is sure that there will be
> wait queue that will get generated as in p1 p2 p3 p4 p5 p6.
> <BR>Imagine if Process P releases it lock. As per explaination given
> in (a) it is sure that p1 will wake up. What is the status of p2. It
> was in conflict with process P and hence should we term it that it
> will not wake up. Same is the case with p2 ... p6. </DIV>

If p2's requested lock does not conflict with p1's granted lock, then it
will be awakened also (for example if P had an AccessExclusive lock and
both p1 and p2 were requesting an AccessShare lock).

> <DIV>Secondly if p2 is not woken up and if p3's lock doesn't conflict
> with  ( P and p2 ) then by rule(b) will p3 move ahead  of
> p2</DIV>

No, sleeping waiters are not moved ahead.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: How do I connect postgres table structures and view structures to an existing svn repository?
Next
From: "Gavin M. Roy"
Date:
Subject: Re: Machine available for community use