Re: Should PostgresMain() do a LWLockReleaseAll()?
От | Tom Lane |
---|---|
Тема | Re: Should PostgresMain() do a LWLockReleaseAll()? |
Дата | |
Msg-id | 9984.1393184892@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Should PostgresMain() do a LWLockReleaseAll()? (Andres Freund <andres@2ndquadrant.com>) |
Ответы |
Re: Should PostgresMain() do a LWLockReleaseAll()?
|
Список | pgsql-hackers |
Andres Freund <andres@2ndquadrant.com> writes: > Currently the error handling of normal backends only does a > LWLockReleaseAll() once CurrentTransactionState->state != TRANS_DEFAULT > because it's called in AbortTransaction(). There's pretty damn few > places that fiddle with lwlocks outside of a transaction command, but I > still do wonder whether it'd wouldn't be a tad more robust to > unconditionally do a LWLockReleaseAll(), just like other error handlers > are doing? Why do that thing in particular, and not all the other things that AbortTransaction() does? The reason that other process main loops don't use AbortTransaction is that they don't run transactions. I don't think arguing from what they do is particularly relevant to PostgresMain. regards, tom lane
В списке pgsql-hackers по дате отправления: