Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
framework-1.4.1
-
None
Description
Felix 1.4.1 introduced a global bundle lock for multi-bundle refresh/resolve operations. The acquireBundleLock() was modified to record which bundles were holding bundle locks, but it does so improperly. As long as the global lock is free, it records the calling thread as acquiring its requested lock, then it checks to see if the bundle is actually lockable and waits until it is. It should not record the calling thread as acquiring its requested lock until after it verifies the bundle is lockable.