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&nbsp; ( P and p2 ) then by rule(b) will p3 move ahead&nbsp; of
> p2</DIV>

No, sleeping waiters are not moved ahead.

Alvaro Herrera                      
The PostgreSQL Company - Command Prompt, Inc.

---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at


Reply via email to