Chromium Code Reviews| Index: runtime/bin/socket_patch.dart |
| diff --git a/runtime/bin/socket_patch.dart b/runtime/bin/socket_patch.dart |
| index 0e7abdb4bf98b0f310f54bf90f848b97838de460..d3ccf0f57334b8665ebec4a1b109579df7d20877 100644 |
| --- a/runtime/bin/socket_patch.dart |
| +++ b/runtime/bin/socket_patch.dart |
| @@ -410,6 +410,8 @@ class _NativeSocket extends NativeFieldWrapperClass1 { |
| int available = 0; |
| + int returnTokens = 0; |
| + |
| bool sendReadEvents = false; |
| bool readEventIssued = false; |
| @@ -818,8 +820,13 @@ class _NativeSocket extends NativeFieldWrapperClass1 { |
| } |
| } |
| } |
| - if (eventPort != null && !isClosing && !isClosed) { |
| - sendToEventHandler(1 << RETURN_TOKEN_COMMAND); |
| + if (eventPort != null && !isClosing && !isClosed && !isListening) { |
| + returnTokens++; |
| + if (returnTokens == 8) { |
| + // Return in batches of 8. |
|
Søren Gjesse
2014/03/25 13:31:22
assert(1 << FIRST_COMMAND < returnTokens)
Anders Johnsen
2014/03/25 13:43:35
Done.
|
| + sendToEventHandler((1 << RETURN_TOKEN_COMMAND) | returnTokens); |
| + returnTokens = 0; |
| + } |
| } |
| } |