DescriptionFix WebSocket race between close and connect.
If the WebSocket handshake was cancelled immediately after the connect
succeeded before the ClientSocketHandle was fully initialised, then the
socket would not be released back to the pool, and as a result the
endpoint would not be unlocked.
Fix by actively reclaiming the socket in
WebSocketTransportClientSocketPool::CancelRequest().
Also add a test for this condition.
BUG=394268, 389084
TEST=net_unittests
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=285175
Patch Set 1 #
Total comments: 2
Patch Set 2 : Make the test actually reproduce the bug. #Patch Set 3 : DCHECK that the handle is not initialised in CancelRequest() #Patch Set 4 : Rebase. #Patch Set 5 : Rebase harder. #
Messages
Total messages: 14 (0 generated)
|