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();