Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
ManifoldCF 1.4.1
-
None
Description
When crawling is active, it is often difficult to lock the resources needed to do anything useful in the UI. This can be because of contention with the crawling threads, which usually win in a lock contention situation because there are so many more of them.
This is not an easy ticket to solve for a number of reasons, one of which is that the ONLY known strategy for resolving locking requiring multiple locks is to acquire the locks in a certain order, and release them and retry if/when they can't all be acquired. However, the UI itself doesn't actually seem to make use of the multiple-locks-at-one-time situation very often, so I believe that a simple system of lock prioritization on single locks would likely help enormously. While still not easy to implement, this would solve a long-standing annoying failure case in ManifoldCF.