You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2014/03/14 00:27:13 UTC
svn commit: r1577376 -
/tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
Author: remm
Date: Thu Mar 13 23:27:12 2014
New Revision: 1577376
URL: http://svn.apache.org/r1577376
Log:
With the writeLock in use in the superclass, remove the useless extra locking (after testing).
Modified:
tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java?rev=1577376&r1=1577375&r2=1577376&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java Thu Mar 13 23:27:12 2014
@@ -49,13 +49,11 @@ public class Nio2ServletOutputStream ext
this.completionHandler = new CompletionHandler<Integer, SocketWrapper<Nio2Channel>>() {
@Override
public void completed(Integer nBytes, SocketWrapper<Nio2Channel> attachment) {
- synchronized (completionHandler) {
- if (nBytes.intValue() < 0) {
- failed(new ClosedChannelException(), attachment);
- return;
- }
- writePending.release();
+ if (nBytes.intValue() < 0) {
+ failed(new ClosedChannelException(), attachment);
+ return;
}
+ writePending.release();
if (!Nio2Endpoint.isInline()) {
try {
onWritePossible();
@@ -135,15 +133,13 @@ public class Nio2ServletOutputStream ext
}
} else {
if (writePending.tryAcquire()) {
- synchronized (completionHandler) {
- buffer.clear();
- buffer.put(b, off, len);
- buffer.flip();
- Nio2Endpoint.startInline();
- channel.write(buffer, socketWrapper.getTimeout(), TimeUnit.MILLISECONDS, socketWrapper, completionHandler);
- Nio2Endpoint.endInline();
- written = len;
- }
+ buffer.clear();
+ buffer.put(b, off, len);
+ buffer.flip();
+ Nio2Endpoint.startInline();
+ channel.write(buffer, socketWrapper.getTimeout(), TimeUnit.MILLISECONDS, socketWrapper, completionHandler);
+ Nio2Endpoint.endInline();
+ written = len;
}
}
return written;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org