Dodge the BSD bug with toStringing a channel.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3480 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Ray Greenwell
2005-04-13 19:18:45 +00:00
parent 9692c7d221
commit 4c3dd9b1af
2 changed files with 23 additions and 7 deletions
@@ -280,8 +280,13 @@ public abstract class Connection implements NetEventHandler
close();
} catch (ClassNotFoundException cnfe) {
Log.warning("Error reading message from socket " +
"[channel=" + _channel + ", error=" + cnfe + "].");
try {
Log.warning("Error reading message from socket " +
"[channel=" + _channel + ", error=" + cnfe + "].");
} catch (Error err) {
Log.warning("Error reading message from socket " +
"and error printing channel [error=" + cnfe + "].");
}
// deal with the failure
handleFailure(new NestableIOException(
"Unable to decode incoming message.", cnfe));
@@ -291,8 +296,14 @@ public abstract class Connection implements NetEventHandler
// dropped the connection" failure
String msg = ioe.getMessage();
if (msg == null || msg.indexOf("reset by peer") == -1) {
Log.warning("Error reading message from socket " +
"[channel=" + _channel + ", error=" + ioe + "].");
try {
Log.warning("Error reading message from socket " +
"[channel=" + _channel +
", error=" + ioe + "].");
} catch (Error err) {
Log.warning("Error reading message from socket " +
"and error printing channel [error=" + ioe + "].");
}
}
// deal with the failure
handleFailure(ioe);
@@ -583,9 +583,14 @@ public class ConnectionManager extends LoopingThread
}
if (!(channel instanceof SelectableChannel)) {
Log.warning("Provided with un-selectable socket as " +
"result of accept(), can't cope " +
"[channel=" + channel + "].");
try {
Log.warning("Provided with un-selectable socket as " +
"result of accept(), can't cope " +
"[channel=" + channel + "].");
} catch (Error err) {
Log.warning("Un-selectable channel also couldn't " +
"be printed.");
}
// stick a fork in the socket
channel.socket().close();
return;