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 2018/12/11 08:33:10 UTC
httpcomponents-core git commit: HTTPCORE-564: fixed deadlock in
IOSessionImpl caused by concurrent session closure and i/o reactor shutdown
Repository: httpcomponents-core
Updated Branches:
refs/heads/4.4.x ee290a222 -> 85ae13b3b
HTTPCORE-564: fixed deadlock in IOSessionImpl caused by concurrent session closure and i/o reactor shutdown
Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/commit/85ae13b3
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/tree/85ae13b3
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/diff/85ae13b3
Branch: refs/heads/4.4.x
Commit: 85ae13b3b8eff663dbbe9ba82d5694068c72183f
Parents: ee290a2
Author: Oleg Kalnichevski <ol...@apache.org>
Authored: Thu Dec 6 10:25:07 2018 +0100
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Tue Dec 11 09:32:54 2018 +0100
----------------------------------------------------------------------
.../java/org/apache/http/impl/nio/reactor/IOSessionImpl.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/85ae13b3/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java
----------------------------------------------------------------------
diff --git a/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java b/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java
index 01c8a8f..a42ceb0 100644
--- a/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java
+++ b/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java
@@ -38,8 +38,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import org.apache.http.annotation.ThreadingBehavior;
import org.apache.http.annotation.Contract;
+import org.apache.http.annotation.ThreadingBehavior;
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.nio.reactor.SessionBufferStatus;
import org.apache.http.nio.reactor.SocketAccessor;
@@ -216,8 +216,6 @@ public class IOSessionImpl implements IOSession, SocketAccessor {
return;
}
this.status = CLOSED;
- }
- synchronized (this.key) {
this.key.cancel();
try {
this.key.channel().close();