You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2019/11/04 09:55:31 UTC
[httpcomponents-core] 01/01: HTTPASYNC-152: non-blocking connection
pool to automatically close all newly created sessions when being shut down
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a commit to branch HTTPASYNC-152
in repository https://gitbox.apache.org/repos/asf/httpcomponents-core.git
commit a5defd98653b627a6bbf866895b96b56976dfb53
Author: Oleg Kalnichevski <ol...@apache.org>
AuthorDate: Mon Nov 4 10:53:52 2019 +0100
HTTPASYNC-152: non-blocking connection pool to automatically close all newly created sessions when being shut down
---
.../main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java | 2 +-
.../src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java b/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java
index d84faeb..10371b7 100644
--- a/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java
+++ b/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/AbstractIOReactor.java
@@ -425,7 +425,7 @@ public abstract class AbstractIOReactor implements IOReactor {
if (!sessionRequest.isTerminated()) {
sessionRequest.completed(session);
}
- if (!sessionRequest.isTerminated()) {
+ if (!sessionRequest.isTerminated() && !session.isClosed()) {
sessionCreated(key, session);
}
if (sessionRequest.isTerminated()) {
diff --git a/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java b/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
index 1bddff6..3387178 100644
--- a/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
+++ b/httpcore-nio/src/main/java/org/apache/http/nio/pool/AbstractNIOConnPool.java
@@ -543,6 +543,10 @@ public abstract class AbstractNIOConnPool<T, C, E extends PoolEntry<T, C>>
protected void requestCompleted(final SessionRequest request) {
if (this.isShutDown.get()) {
+ final IOSession session = request.getSession();
+ if (session != null) {
+ session.close();
+ }
return;
}
@SuppressWarnings("unchecked")