This is an automated email from the ASF dual-hosted git repository.
johnnyv pushed a commit to branch 2.0
in repository https://gitbox.apache.org/repos/asf/mina.git
The following commit(s) were added to refs/heads/2.0 by this push:
new 2d7d595 While investigating DIRMINA-1086, I found a exception
handling flaw which allows fired captured exceptions to occur after the last
clearWriteRequestQUeue call. This could cause a memmory leak when caught
excpetions create WriteRequests.
2d7d595 is described below
commit 2d7d595e4c0a7bb6eeb5a721954ba13fb9d7f811
Author: jvalliere <[email protected]>
AuthorDate: Wed Feb 6 15:37:48 2019 -0500
While investigating DIRMINA-1086, I found a exception handling flaw
which allows fired captured exceptions to occur after the last
clearWriteRequestQUeue call. This could cause a memmory leak when
caught excpetions create WriteRequests.
---
.../java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
index 78807ee..5fe4ca1 100644
---
a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
+++
b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
@@ -1157,7 +1157,6 @@ public abstract class AbstractPollingIoProcessor<S
extends AbstractIoSession> im
filterChain.fireExceptionCaught(e);
} finally {
try {
- clearWriteRequestQueue(session);
((AbstractIoService)
session.getService()).getListeners().fireSessionDestroyed(session);
} catch (Exception e) {
// The session was either destroyed or not at this point.
@@ -1166,6 +1165,8 @@ public abstract class AbstractPollingIoProcessor<S
extends AbstractIoSession> im
// the return value by bubbling up.
IoFilterChain filterChain = session.getFilterChain();
filterChain.fireExceptionCaught(e);
+ } finally {
+ clearWriteRequestQueue(session);
}
}