diff --git a/src/as/com/threerings/io/FrameReader.as b/src/as/com/threerings/io/FrameReader.as index bf8cfd454..b676a6692 100644 --- a/src/as/com/threerings/io/FrameReader.as +++ b/src/as/com/threerings/io/FrameReader.as @@ -25,6 +25,15 @@ public class FrameReader extends EventDispatcher * Called when our socket has data that we can read. */ protected function socketHasData (event :ProgressEvent) :void + { + try { + readAvailable(); + } catch (e :Error) { + Log.getLog(this).warning("Error reading socket data [e=" + e + "]."); + } + } + + protected function readAvailable () :void { if (ObjectInputStream.DEBUG) { Log.getLog(this).debug( @@ -64,7 +73,7 @@ public class FrameReader extends EventDispatcher // there's a good chance there's more on the socket, recurse // now to read it if (_socket.bytesAvailable >= HEADER_SIZE) { - socketHasData(event); + readAvailable(); } } }