DescriptionImplement support for a cancelable SyncSocket.
Currently, blocking SyncSocket operations can not be unblocked from other threads, but this is now supported by using the CancelableSyncSocket class.
The implementation on Mac and Linux is very simple and basically consists of adding a call to shutdown().
On Windows however things are a tiny bit more complex since we use named pipes with synchronous IO and canceling synchronous IO is simply not possible on XP and arguably tricky on Vista+. So, what we do instead is to use asynchronous IO in a synchronous fashion to support the SyncSocket semantics and as well as allowing the connection to be correctly shut down from another thread.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=119051
Patch Set 1 #Patch Set 2 : Build issues #Patch Set 3 : Fix build error and a bug in WASAPIAudioOutputStreamTestMono #Patch Set 4 : Using a single event for file operations on Windows. Some comment improvements. #
Total comments: 1
Patch Set 5 : Rebase and fix merges #
Total comments: 8
Patch Set 6 : Addressing review comments #Patch Set 7 : Add CreatePair explicitly to CancelableSyncSocket and fix bug in the posix Receive implementation #
Total comments: 2
Patch Set 8 : addressed micro-nit #
Messages
Total messages: 12 (0 generated)
|