From 345d7479132535b7ddb6d339e341addf35f3ba1f Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Wed, 22 Jun 2011 13:44:25 -0700 Subject: [PATCH] Add more _selector.close() Also add more log. --- agent/src/com/cloud/agent/Agent.java | 1 + utils/src/com/cloud/utils/nio/NioClient.java | 1 + utils/src/com/cloud/utils/nio/NioConnection.java | 9 +++++---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/agent/src/com/cloud/agent/Agent.java b/agent/src/com/cloud/agent/Agent.java index c3247e9550a..68696636876 100755 --- a/agent/src/com/cloud/agent/Agent.java +++ b/agent/src/com/cloud/agent/Agent.java @@ -401,6 +401,7 @@ public class Agent implements HandlerFactory, IAgentControl { _connection.start(); _shell.getBackoffAlgorithm().waitBeforeRetry(); } while (!_connection.isStartup()); + s_logger.info("Connected to the server"); } public void processStartupAnswer(Answer answer, Response response, Link link) { diff --git a/utils/src/com/cloud/utils/nio/NioClient.java b/utils/src/com/cloud/utils/nio/NioClient.java index 0344c5b443f..8eb0ee7e593 100755 --- a/utils/src/com/cloud/utils/nio/NioClient.java +++ b/utils/src/com/cloud/utils/nio/NioClient.java @@ -78,6 +78,7 @@ public class NioClient extends NioConnection { Link.doHandshake(sch, sslEngine, true); s_logger.info("SSL: Handshake done"); } catch (Exception e) { + _selector.close(); throw new IOException("SSL: Fail to init SSL! " + e); } diff --git a/utils/src/com/cloud/utils/nio/NioConnection.java b/utils/src/com/cloud/utils/nio/NioConnection.java index b64c988e818..f64919d2bac 100755 --- a/utils/src/com/cloud/utils/nio/NioConnection.java +++ b/utils/src/com/cloud/utils/nio/NioConnection.java @@ -82,9 +82,7 @@ public abstract class NioConnection implements Runnable { try { _thread.wait(); } catch (InterruptedException e) { - if (s_logger.isTraceEnabled()) { - s_logger.info("Interrupted start thread ", e); - } + s_logger.warn("Interrupted start thread ", e); } } } @@ -116,6 +114,9 @@ public abstract class NioConnection implements Runnable { } catch (IOException e) { s_logger.error("Unable to initialize the threads.", e); return; + } catch (Exception e) { + s_logger.error("Unable to initialize the threads due to unknown exception.", e); + return; } _isStartup = true; _thread.notifyAll(); @@ -432,7 +433,7 @@ public abstract class NioConnection implements Runnable { /* Release the resource used by the instance */ public void cleanUp() throws IOException { - if (_selector != null && _selector.isOpen()) { + if (_selector != null) { _selector.close(); } }