You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by je...@apache.org on 2014/12/07 22:35:07 UTC
mina git commit: Fix for DIRMINA-999
Repository: mina
Updated Branches:
refs/heads/trunk f59036b58 -> 244bc2584
Fix for DIRMINA-999
Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/244bc258
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/244bc258
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/244bc258
Branch: refs/heads/trunk
Commit: 244bc2584e53301d494637c78a229f5a6ceb161e
Parents: f59036b
Author: Jeff MAURY <je...@jeffmaury.com>
Authored: Sun Dec 7 22:34:55 2014 +0100
Committer: Jeff MAURY <je...@jeffmaury.com>
Committed: Sun Dec 7 22:34:55 2014 +0100
----------------------------------------------------------------------
.../mina/transport/nio/AbstractNioSession.java | 1 +
.../transport/nio/NioTcpClientReleaseTest.java | 30 ++++++++++++++++++++
2 files changed, 31 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina/blob/244bc258/core/src/main/java/org/apache/mina/transport/nio/AbstractNioSession.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mina/transport/nio/AbstractNioSession.java b/core/src/main/java/org/apache/mina/transport/nio/AbstractNioSession.java
index f2bc4c2..c66fd1f 100644
--- a/core/src/main/java/org/apache/mina/transport/nio/AbstractNioSession.java
+++ b/core/src/main/java/org/apache/mina/transport/nio/AbstractNioSession.java
@@ -326,6 +326,7 @@ public abstract class AbstractNioSession extends AbstractIoSession {
// we was flushing writes, now we to the close
channelClose();
+ processSessionClosed();
} else {
// no more write event needed
selectorLoop.modifyRegistration(false, !isReadSuspended(), false, (SelectorListener) this,
http://git-wip-us.apache.org/repos/asf/mina/blob/244bc258/core/src/test/java/org/apache/mina/transport/nio/NioTcpClientReleaseTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/mina/transport/nio/NioTcpClientReleaseTest.java b/core/src/test/java/org/apache/mina/transport/nio/NioTcpClientReleaseTest.java
index fc13539..f3a0064 100644
--- a/core/src/test/java/org/apache/mina/transport/nio/NioTcpClientReleaseTest.java
+++ b/core/src/test/java/org/apache/mina/transport/nio/NioTcpClientReleaseTest.java
@@ -80,4 +80,34 @@ public class NioTcpClientReleaseTest {
closedLatch.countDown();
}
}
+
+ /**
+ * Test added for DIRMINA-999
+ */
+ @Test
+ public void checkSessionCloseEventIsSentClientSideWhenImmediateIsFalse() throws IOException, InterruptedException,
+ ExecutionException {
+
+ NioTcpServer server = new NioTcpServer();
+ server.bind(0);
+
+ NioTcpClient client = new NioTcpClient();
+ final CountDownLatch closeCounter = new CountDownLatch(1);
+ client.setIoHandler(new AbstractIoHandler() {
+
+ @Override
+ public void sessionOpened(IoSession session) {
+ session.close(false);
+ }
+
+ @Override
+ public void sessionClosed(IoSession session) {
+ closeCounter.countDown();
+ }
+
+ });
+ client.connect(new InetSocketAddress(server.getServerSocketChannel().socket().getLocalPort()));
+ assertTrue(closeCounter.await(WAIT_TIME, TimeUnit.MILLISECONDS));
+ }
+
}