DescriptionIf we are using blocking write, when the renderer stop getting the data without notifying the browser, it will hang the browser. This happens with some plugins which use the sync sockets provided by the Pepper.
This patch change CancellableSyncSocket to be non-blocking on sending, so that we don't need to worry the whole browser hangs by one plugin application.
Also, we remove the lock in audio_sync_reader.cc since it is not really needed if we don't set the socket_ to NULL when calling Close(). By doing this we allow the user to close the socket while another thread is writing to the socket.
BUG=121152
TEST=ipc_tests
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=132842
Patch Set 1 #Patch Set 2 : Changed the SyncSocket to non-blocking on sending. #Patch Set 3 : add one more test on the blocking receiving && add windows code. #Patch Set 4 : ready for review now. #
Total comments: 31
Patch Set 5 : addressed Tommi's comments #
Total comments: 15
Patch Set 6 : use WaitForMultipleObjects in windows #
Total comments: 12
Patch Set 7 : addressed Tommi's comments #
Total comments: 2
Patch Set 8 : addressed cpu's comment #
Messages
Total messages: 19 (0 generated)
|