From 1e6c35f9c112a4788961d206354b80eb362ce118 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Tue, 2 Jun 2009 22:59:23 +0000 Subject: [PATCH] If we have no socket or a closed socket when trying to write overflow queue messages, treat that like a network failure which will clear out that queue and shutdown the connection. Overflow queues are only meant to handle sockets that are backed up, not closed or non-existent. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5813 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../com/threerings/presents/server/net/ConnectionManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java/com/threerings/presents/server/net/ConnectionManager.java b/src/java/com/threerings/presents/server/net/ConnectionManager.java index 260554dc8..f2a55d504 100644 --- a/src/java/com/threerings/presents/server/net/ConnectionManager.java +++ b/src/java/com/threerings/presents/server/net/ConnectionManager.java @@ -1121,8 +1121,8 @@ public class ConnectionManager extends LoopingThread if (_partial != null) { // if our outgoing channel is still not ready, then bail immediately SocketChannel sochan = conn.getChannel(); - if (!sochan.isConnected()) { - return false; + if (sochan == null || !sochan.isConnected()) { + throw new IOException("Connection unavailable for overflow write"); } // write all we can of our partial buffer