>This way we only cancel direct deadlocks.
>
>It doesn't solve general problem of buffer waits, but they may be
>solvable by different mechanism.
>
Following question may be redundant. Just a confirmation.
Deadlock example is catstrophic while it's rather a rare event.
On the other hand, LockBufferForCleanup() can cause another
problem.
* One idle pin-holder backend can freeze startup process().
This problem is not catstrophic, but it seems a similar problem
which StandbyAcquireAccessExclusiveLock() tries to avoid.
...Is this the problem you call "general problem" above ?
regards,
-- Hiroyuki YAMADA Kokolink Corporation yamada@kokolink.net