From 1cbdf12c056362cc6ac85239de7c8d93a356ee0f Mon Sep 17 00:00:00 2001 From: Mark Sheppard Date: Sun, 24 Jan 2016 22:27:16 +0000 Subject: [PATCH] 8147862: Null check too late in sun.net.httpserver.ServerImpl Reviewed-by: chegar --- .../sun/net/httpserver/ServerImpl.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/jdk/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java b/jdk/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java index 5b97c16477c..1c3ac29f936 100644 --- a/jdk/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java +++ b/jdk/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java @@ -373,22 +373,22 @@ class ServerImpl implements TimeSource { } SocketChannel chan = schan.accept(); - // Set TCP_NODELAY, if appropriate - if (ServerConfig.noDelay()) { - chan.socket().setTcpNoDelay(true); + // optimist there's a channel + if (chan != null) { + // Set TCP_NODELAY, if appropriate + if (ServerConfig.noDelay()) { + chan.socket().setTcpNoDelay(true); + } + chan.configureBlocking (false); + SelectionKey newkey = + chan.register (selector, SelectionKey.OP_READ); + HttpConnection c = new HttpConnection (); + c.selectionKey = newkey; + c.setChannel (chan); + newkey.attach (c); + requestStarted (c); + allConnections.add (c); } - - if (chan == null) { - continue; /* cancel something ? */ - } - chan.configureBlocking (false); - SelectionKey newkey = chan.register (selector, SelectionKey.OP_READ); - HttpConnection c = new HttpConnection (); - c.selectionKey = newkey; - c.setChannel (chan); - newkey.attach (c); - requestStarted (c); - allConnections.add (c); } else { try { if (key.isReadable()) {