diff --git a/utils/src/main/java/com/cloud/utils/nio/Link.java b/utils/src/main/java/com/cloud/utils/nio/Link.java index 02ffaab4e02..da2c0d54e87 100644 --- a/utils/src/main/java/com/cloud/utils/nio/Link.java +++ b/utils/src/main/java/com/cloud/utils/nio/Link.java @@ -615,10 +615,7 @@ public class Link { case NEED_TASK: Runnable task; while ((task = sslEngine.getDelegatedTask()) != null) { - if (s_logger.isTraceEnabled()) { - s_logger.trace("SSL: Running delegated task!"); - } - task.run(); + new Thread(task).run(); } break; case FINISHED: diff --git a/utils/src/main/java/com/cloud/utils/nio/NioConnection.java b/utils/src/main/java/com/cloud/utils/nio/NioConnection.java index 6fdb4736ac7..749e552c2c7 100644 --- a/utils/src/main/java/com/cloud/utils/nio/NioConnection.java +++ b/utils/src/main/java/com/cloud/utils/nio/NioConnection.java @@ -171,6 +171,8 @@ public abstract class NioConnection implements Callable { } catch (final IOException e) { s_logger.error("Agent will die due to this IOException!", e); throw new NioConnectionException(e.getMessage(), e); + } finally { + _selector.wakeup(); } } _isStartup = false;