Take no guff from freaking out network event handlers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2821 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: ConnectionManager.java,v 1.35 2003/09/24 18:37:55 mdb Exp $
|
// $Id: ConnectionManager.java,v 1.36 2003/10/07 22:41:24 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.presents.server.net;
|
package com.threerings.presents.server.net;
|
||||||
|
|
||||||
@@ -239,7 +239,7 @@ public class ConnectionManager extends LoopingThread
|
|||||||
if (handler.checkIdle(iterStamp)) {
|
if (handler.checkIdle(iterStamp)) {
|
||||||
// this will queue the connection up for closure on our
|
// this will queue the connection up for closure on our
|
||||||
// next tick
|
// next tick
|
||||||
closeConnection(((Connection)handler));
|
closeConnection((Connection)handler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -344,9 +344,9 @@ public class ConnectionManager extends LoopingThread
|
|||||||
Iterator siter = ready.iterator();
|
Iterator siter = ready.iterator();
|
||||||
while (siter.hasNext()) {
|
while (siter.hasNext()) {
|
||||||
SelectionKey selkey = (SelectionKey)siter.next();
|
SelectionKey selkey = (SelectionKey)siter.next();
|
||||||
|
NetEventHandler handler = null;
|
||||||
try {
|
try {
|
||||||
NetEventHandler handler = (NetEventHandler)
|
handler = (NetEventHandler)_handlers.get(selkey);
|
||||||
_handlers.get(selkey);
|
|
||||||
if (handler == null) {
|
if (handler == null) {
|
||||||
Log.warning("Received network event but have no " +
|
Log.warning("Received network event but have no " +
|
||||||
"registered handler [selkey=" + selkey + "].");
|
"registered handler [selkey=" + selkey + "].");
|
||||||
@@ -368,8 +368,13 @@ public class ConnectionManager extends LoopingThread
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Log.warning("Error processing network data.");
|
Log.warning("Error processing network data: " + handler + ".");
|
||||||
Log.logStackTrace(e);
|
Log.logStackTrace(e);
|
||||||
|
|
||||||
|
// if you freak out here, you go straight in the can
|
||||||
|
if (handler != null && handler instanceof Connection) {
|
||||||
|
closeConnection((Connection)handler);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ready.clear();
|
ready.clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user