From: Joel Johnson Date: Fri, 26 Jun 2015 21:47:44 +0000 (-0600) Subject: if failed to bind to port, don't use socket X-Git-Tag: v1.7.0~1^2~50^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2f361800ae381f365c5f33fbc2c5e3ffd5b90e2b;p=gitblit.git if failed to bind to port, don't use socket --- diff --git a/src/main/java/com/gitblit/GitBlitServer.java b/src/main/java/com/gitblit/GitBlitServer.java index a1fd071f..d56d9c0c 100644 --- a/src/main/java/com/gitblit/GitBlitServer.java +++ b/src/main/java/com/gitblit/GitBlitServer.java @@ -509,22 +509,25 @@ public class GitBlitServer { @Override public void run() { - logger.info("Shutdown Monitor listening on port " + socket.getLocalPort()); - Socket accept; - try { - accept = socket.accept(); - BufferedReader reader = new BufferedReader(new InputStreamReader( - accept.getInputStream())); - reader.readLine(); - logger.info(Constants.BORDER); - logger.info("Stopping " + Constants.NAME); - logger.info(Constants.BORDER); - server.stop(); - server.setStopAtShutdown(false); - accept.close(); - socket.close(); - } catch (Exception e) { - logger.warn("Failed to shutdown Jetty", e); + // Only run if the socket was able to be created (not already in use, failed to bind, etc.) + if (null != socket) { + logger.info("Shutdown Monitor listening on port " + socket.getLocalPort()); + Socket accept; + try { + accept = socket.accept(); + BufferedReader reader = new BufferedReader(new InputStreamReader( + accept.getInputStream())); + reader.readLine(); + logger.info(Constants.BORDER); + logger.info("Stopping " + Constants.NAME); + logger.info(Constants.BORDER); + server.stop(); + server.setStopAtShutdown(false); + accept.close(); + socket.close(); + } catch (Exception e) { + logger.warn("Failed to shutdown Jetty", e); + } } } }