Re: src/backend/storage/lmgr/lock.c ----> LockAcquire()

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: src/backend/storage/lmgr/lock.c ----> LockAcquire()
Дата
Msg-id 12931.1051189797@sss.pgh.pa.us
обсуждение исходный текст
Ответ на src/backend/storage/lmgr/lock.c ----> LockAcquire()  ("S -" <nat_lazy@hotmail.com>)
Список pgsql-hackers
"S -" <nat_lazy@hotmail.com> writes:
> -- Within a SINGLE call of LockAcquire, is it possible for GrantLock() to be 
> called multiple times?

Hmm.  In the normal course of events, a LockAcquire would only try to
grant the target lock to itself; it couldn't grant anything to anyone
else as a byproduct.  But I think there might be corner cases involving
deadlock detection.  Once a deadlock is detected, the resulting
transaction abort leads to lock releases which lead to lock grants
occurring --- so how narrowly are you defining "a single call of
LockAcquire"?

In any case a single call of LockRelease can certainly result in
multiple GrantLocks, so I'm not sure what sort of optimization you might
have in mind that would be feasible.
        regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Rod Taylor
Дата:
Сообщение: Re: Are we losing momentum?
Следующее
От: Robert Treat
Дата:
Сообщение: putting new pdf docs on ftp site