You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/01/29 20:12:11 UTC
svn commit: r1655812 - in /tomcat/trunk/java/org/apache/tomcat:
util/net/SocketWrapperBase.java
websocket/server/WsRemoteEndpointImplServer.java
Author: markt
Date: Thu Jan 29 19:12:11 2015
New Revision: 1655812
URL: http://svn.apache.org/r1655812
Log:
Fix another NPE observed in logs during unit test runs
Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1655812&r1=1655811&r2=1655812&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Thu Jan 29 19:12:11 2015
@@ -27,9 +27,13 @@ import java.util.concurrent.locks.Reentr
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
import org.apache.tomcat.util.buf.ByteBufferHolder;
+import org.apache.tomcat.util.res.StringManager;
public abstract class SocketWrapperBase<E> {
+ protected static final StringManager sm = StringManager.getManager(
+ SocketWrapperBase.class.getPackage().getName());
+
private volatile E socket;
private final AbstractEndpoint<E> endpoint;
@@ -284,6 +288,9 @@ public abstract class SocketWrapperBase<
public boolean canWrite() {
+ if (socketBufferHandler == null) {
+ throw new IllegalStateException(sm.getString("socket.closed"));
+ }
return socketBufferHandler.isWriteBufferWritable() && bufferedWrites.size() == 0;
}
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1655812&r1=1655811&r2=1655812&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java Thu Jan 29 19:12:11 2015
@@ -115,9 +115,9 @@ public class WsRemoteEndpointImplServer
break;
}
}
- } catch (IOException ioe) {
+ } catch (IOException | IllegalStateException e) {
wsWriteTimeout.unregister(this);
- clearHandler(ioe, useDispatch);
+ clearHandler(e, useDispatch);
close();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org