Paul Martin
2016-04-27 c2188a840bc4153ae92112b04b2e06a90d3944aa
src/main/java/com/gitblit/GitBlitServer.java
@@ -148,6 +148,15 @@
      System.exit(0);
   }
   protected File getBaseFolder(Params params) {
      String path = System.getProperty("GITBLIT_HOME", Params.baseFolder);
      if (!StringUtils.isEmpty(System.getenv("GITBLIT_HOME"))) {
         path = System.getenv("GITBLIT_HOME");
      }
      return new File(path).getAbsoluteFile();
   }
   /**
    * Stop Gitblt GO.
    */
@@ -170,7 +179,7 @@
    * Start Gitblit GO.
    */
   protected final void start(Params params) {
      final File baseFolder = new File(Params.baseFolder).getAbsoluteFile();
      final File baseFolder = getBaseFolder(params);
      FileSettings settings = params.FILESETTINGS;
      if (!StringUtils.isEmpty(params.settingsfile)) {
         if (new File(params.settingsfile).exists()) {
@@ -500,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);
            }
         }
      }
   }