Details
-
Bug
-
Resolution: Done
-
Major - P3
-
3.1.7
-
None
-
Fully Compatible
-
ALL
-
-
Platform 9 (09/18/15)
-
0
Description
AsyncMockStreamFactor::MockStream::unblock() drops its lock to unblock consuming threads. Then it re-acquires the lock before returning.
Under enough contention, this can lead simulateServer to attempt to re-acquire a lock that has just gotten deleted if completeOperation finishes within NetworkInterfaceASIO in time.
The solution is to avoid dropping the lock for the notify.