Index: runtime/bin/socket_patch.dart |
diff --git a/runtime/bin/socket_patch.dart b/runtime/bin/socket_patch.dart |
index 93b23b27837ef2be2b44d1f5b36cd70f2b59d947..8d0e77f1c337a4a7d9e06a104e5ed8f732ddd90c 100644 |
--- a/runtime/bin/socket_patch.dart |
+++ b/runtime/bin/socket_patch.dart |
@@ -1136,14 +1136,14 @@ class _RawServerSocket extends Stream<RawSocket> implements RawServerSocket { |
onCancel: _onSubscriptionStateChange, |
onPause: _onPauseStateChange, |
onResume: _onPauseStateChange); |
- _socket.setHandlers(read: zone.bindCallback(() { |
+ _socket.setHandlers(read: zone.bindCallbackGuarded(() { |
while (_socket.available > 0) { |
var socket = _socket.accept(); |
if (socket == null) return; |
_controller.add(new _RawSocket(socket)); |
if (_controller.isPaused) return; |
} |
- }), error: zone.bindUnaryCallback((e) { |
+ }), error: zone.bindUnaryCallbackGuarded((e) { |
_controller.addError(e); |
_controller.close(); |
}), destroyed: () { |
@@ -1237,7 +1237,7 @@ class _RawSocket extends Stream<RawSocketEvent> implements RawSocket { |
_controller.add(RawSocketEvent.CLOSED); |
_controller.close(); |
}, |
- error: zone.bindUnaryCallback((e) { |
+ error: zone.bindUnaryCallbackGuarded((e) { |
_controller.addError(e); |
_socket.close(); |
})); |
@@ -1734,7 +1734,7 @@ class _RawDatagramSocket extends Stream implements RawDatagramSocket { |
_controller.add(RawSocketEvent.CLOSED); |
_controller.close(); |
}, |
- error: zone.bindUnaryCallback((e) { |
+ error: zone.bindUnaryCallbackGuarded((e) { |
_controller.addError(e); |
_socket.close(); |
})); |