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 2011/11/22 13:16:01 UTC

svn commit: r1204948 - in /httpcomponents/httpcore/trunk: RELEASE_NOTES.txt httpcore-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java

Author: olegk
Date: Tue Nov 22 12:16:00 2011
New Revision: 1204948

URL: http://svn.apache.org/viewvc?rev=1204948&view=rev
Log:
HTTPCORE-282: The default value of the internal event mask of newly created non-blocking I/O is not correctly initialized, which causes the READ interest bit to get cleared in the interest op queuing mode unless the event mask is explicitly reset

Modified:
    httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java

Modified: httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt?rev=1204948&r1=1204947&r2=1204948&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpcore/trunk/RELEASE_NOTES.txt Tue Nov 22 12:16:00 2011
@@ -1,10 +1,10 @@
 Changes since Release 4.2-ALPHA2
 -------------------
 
-* [HTTPCORE-282] Newly created non-blocking I/O sessions to have READ interest op bit cleared 
-  per default due to a regression introduced in release 4.1.1. This has a side effect on client
-  side non-blocking connections when running in the interest op queuing mode.
-  Contributed by Sadeep Jayasumana <sadeep at wso2.com> 
+* [HTTPCORE-282] The default value of the internal event mask of newly created non-blocking I/O 
+  is not correctly initialized, which causes the READ interest bit to get cleared in the interest 
+  op queuing mode unless the event mask is explicitly reset.
+  Contributed by Sadeep Jayasumana <sadeep at wso2.com> and Oleg Kalnichevski <olegk at apache.org>
 
 Release 4.2-ALPHA2
 -------------------

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java?rev=1204948&r1=1204947&r2=1204948&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java Tue Nov 22 12:16:00 2011
@@ -161,7 +161,6 @@ public class NHttpConnectionBase
         this.session = session;
         this.context = new SessionHttpContext(this.session);
         this.session.setBufferStatus(this);
-        this.session.setEvent(EventMask.READ);
         this.remote = this.session.getRemoteAddress();
     }
 

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java?rev=1204948&r1=1204947&r2=1204948&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOSessionImpl.java Tue Nov 22 12:16:00 2011
@@ -89,7 +89,7 @@ public class IOSessionImpl implements IO
         this.interestOpsCallback = interestOpsCallback;
         this.sessionClosedCallback = sessionClosedCallback;
         this.attributes = Collections.synchronizedMap(new HashMap<String, Object>());
-        this.currentEventMask = 0;
+        this.currentEventMask = key.interestOps();
         this.socketTimeout = 0;
         this.status = ACTIVE;
         long now = System.currentTimeMillis();