Bruce Momjian <pgman@candle.pha.pa.us> writes:
>> it'd just take a few more processes. The issue is that you are
>> expecting the lock manager to detect or not detect deadlock, when you
>> still have some lock requests up your sleeve that it's not seen yet.
>> As long as you can block before presenting them all, it can never work.
> I know there has been talk about having this done in the lock manager,
> and I know it isn't worth the effort, but I am wondering how you would
> do it even if you were doing in the lock manager with more information
> available.
I'd have to go back and study my 1980's-vintage operating system theory
textbooks before answering that ;-). But acquisition of multiple locks
is a solved problem, AFAIR.
Likely we'd have to throw out the existing lockmanager datastructures
and start fresh, however --- they assume that a proc waits for only one
lock at a time. It'd be a nontrivial bit of work.
regards, tom lane