From: Kern S. <ke...@su...> - 2005-05-26 19:04:08
|
Hello, For those of you pulling from the CVS, please take note that with version 1.37.20 just now committed, I have radically modified the locking mechanism for the Job chain. Instead of being globally locked, it is locked during each operation that modifies or traverses the queue. This has the enormous advantage of nearly eliminating the risk of a deadlock at the price of locking/unlocking on each access to the list rather than once at the beginning and end of accessing the list. It also has the advantage that multiple processes can access the list at the same time rather than blocking. I've tested the new code numerous times here, but to be really sure, it will take much more testing, including testing on a SMP, which I will do this weekend. Hopefully, this will eliminate 99% of all cases of deadlocks involving the jcr chain such as bug 331. -- Best regards, Kern ("> /\ V_V |