Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.9.3
-
None
-
Patch Available
Description
This is a sequence that exposes the race condition:
(1) Thread-1: in serve(), blocked on accept()
(2) Thread-2: in stop(), calls interrupt()
(3) Thread-2: in stop(), in interruptChildren(), checked that socket is valid
(4) Thread-1: in serve(), unblocked because of interrupt(), calls releaseOneDescriptor
(5) Thread-2: in interruptChildren(), send fails so clients are not interrupted
Attachments
Issue Links
- links to