| Index: runtime/bin/socket_stream_impl.dart
|
| diff --git a/runtime/bin/socket_stream_impl.dart b/runtime/bin/socket_stream_impl.dart
|
| index 901efa770fa53ad660aa91f1fa3d1697f80e2a85..504313d12d39c84cd89b9385affecca06749a54d 100644
|
| --- a/runtime/bin/socket_stream_impl.dart
|
| +++ b/runtime/bin/socket_stream_impl.dart
|
| @@ -179,7 +179,14 @@ class _SocketOutputStream
|
| List<int> buffer = _pendingWrites.first;
|
| int offset = _pendingWrites.index;
|
| int bytesToWrite = buffer.length - offset;
|
| - int bytesWritten = _socket.writeList(buffer, offset, bytesToWrite);
|
| + int bytesWritten;
|
| + try {
|
| + bytesWritten = _socket.writeList(buffer, offset, bytesToWrite);
|
| + } catch (e) {
|
| + _pendingWrites.clear();
|
| + _onSocketError(e);
|
| + return;
|
| + }
|
| _pendingWrites.removeBytes(bytesWritten);
|
| if (bytesWritten < bytesToWrite) {
|
| _socket._onWrite = _onWrite;
|
|
|