James Moger
2015-06-30 b5c7332f5976cc19ab681ed4b82501a62c6a2f61
Merge pull request #277 from mrjoel/mrjoel-serverNPEfix

NPE server fix
1 files modified
35 ■■■■ changed files
src/main/java/com/gitblit/GitBlitServer.java 35 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/GitBlitServer.java
@@ -509,22 +509,25 @@
        @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);
                }
            }
        }
    }