| От | 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 по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера