Skip to content

Commit

Permalink
Align processSocket() implementations for NIO and NIO2.
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1746500 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
markt-asf committed Jun 1, 2016
1 parent 92ca551 commit 01f7337
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
5 changes: 4 additions & 1 deletion java/org/apache/tomcat/util/net/Nio2Endpoint.java
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,9 @@ protected boolean isWorkerAvailable() {
public boolean processSocket(SocketWrapperBase<Nio2Channel> socketWrapper,
SocketEvent event, boolean dispatch) {
try {
if (socketWrapper == null) {
return false;
}
SocketProcessor sc = processorCache.pop();
if (sc == null) {
sc = new SocketProcessor(socketWrapper, event);
Expand All @@ -393,7 +396,7 @@ public boolean processSocket(SocketWrapperBase<Nio2Channel> socketWrapper,
sc.run();
}
} catch (RejectedExecutionException ree) {
log.debug(sm.getString("endpoint.executor.fail", socketWrapper), ree);
log.warn(sm.getString("endpoint.executor.fail", socketWrapper), ree);
return false;
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
Expand Down
7 changes: 5 additions & 2 deletions java/org/apache/tomcat/util/net/NioEndpoint.java
Original file line number Diff line number Diff line change
Expand Up @@ -441,8 +441,11 @@ public boolean processSocket(SocketWrapperBase<NioChannel> socketWrapper,
return false;
}
SocketProcessor sc = processorCache.pop();
if ( sc == null ) sc = new SocketProcessor(socketWrapper, event);
else sc.reset(socketWrapper, event);
if (sc == null) {
sc = new SocketProcessor(socketWrapper, event);
} else {
sc.reset(socketWrapper, event);
}
Executor executor = getExecutor();
if (dispatch && executor != null) {
executor.execute(sc);
Expand Down

0 comments on commit 01f7337

Please sign in to comment.