Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
The contract for ObservationManager#removeEventListener mandates: "A listener may be deregistered while it is being executed. The deregistration method will block until the listener has completed executing."
However a strict implementation of this contract is prone to deadlocks: clients unregistering event listeners need to take care not to hold a lock that is also acquired from the event listener being unregistered as this will lead to a deadlock
Attachments
Issue Links
- relates to
-
OAK-1176 ObservationTest#observationDispose fails every now and then
- Closed