From 2a3a62ec82d554a84b52a082f0c30628b3f79c09 Mon Sep 17 00:00:00 2001 From: sta Date: Fri, 24 Oct 2014 11:53:24 +0900 Subject: [PATCH] Fix for issue #84 --- websocket-sharp/Ext.cs | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 2c06a8ab..3dbb3847 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -671,14 +671,28 @@ namespace WebSocketSharp 0, length, ar => { + byte[] bytes = null; + try { var len = stream.EndRead (ar); - var bytes = len < 1 - ? new byte[0] - : len < length - ? stream.readBytes (buff, len, length - len) - : buff; + bytes = len < 1 + ? new byte[0] + : len < length + ? stream.readBytes (buff, len, length - len) + : buff; + } + catch (ObjectDisposedException) { + // The Stream has been closed. + return; + } + catch (Exception ex) { + if (error != null) + error (ex); + + return; + } + try { if (completed != null) completed (bytes); }