Re: some question about deadlock - Mailing list pgsql-hackers

From ipig
Subject Re: some question about deadlock
Date
Msg-id 003801c68336$9f4994b0$3c1a4dd2@iipig
Whole thread Raw
In response to Re: some question about deadlock  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Hi,
  an exception: if the process already holds locks on this same lockable
object that conflict with the request of any pending waiter, then the
process will be inserted in the wait queue just ahead of the first such
waiter. 
  From the exception, I got that the process must be added at the head, since the first waiter in the queue must
conflictwith the lock-held process.
 

Best wishes.


----- Original Message ----- 
From: "Bruce Momjian" <pgman@candle.pha.pa.us>
To: "ipig" <ipig@ercist.iscas.ac.cn>
Cc: <pgsql-hackers@postgresql.org>
Sent: Monday, May 29, 2006 11:26 PM
Subject: Re: [HACKERS] some question about deadlock


> ipig wrote:
>> Hi,
>>     Thanks for your reply.
>>     I changed the format to plain text.
>> 
>>     For the question, suppose that process p0 held the lock of object A, and the wait queue for A is p1,p2,p3,....,
thatprocess p1 is the first waiter in the queue.
 
>>     Since p1 is in the wait queue, the lock p1 requests must be conflict with the lock p0 held. 
>>     That is to say, if p0 wants to lock A again, then p0 will be put before p1, and p0 will be at the head of the
queue.Why do we need to find the first waiter which conflicts p0? I think that p0 must be added at the head of the wait
queue.
>>  
>>    For your example, p0 has a read lock and wants an exclusive lock. 
>>    Since p0 has a read lock, then in the queue, p1 must wait an exclusive lock.
>>    Then p0 will be put before p1, and p0 will be at the head of the queue.
>> 
>>   Is there anything I misunderstood?
> 
> I am guessing that p0 is put at the head _only_ if there are conflicting
> locks so that p0 does not starve other waiting processes.
> 
> -- 
>  Bruce Momjian   http://candle.pha.pa.us
>  EnterpriseDB    http://www.enterprisedb.com
> 
>  + If your life is a hard drive, Christ can be your backup. +

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: some question about deadlock
Next
From: Tom Lane
Date:
Subject: Re: some question about deadlock