Uploaded image for project: 'Commons Daemon'
  1. Commons Daemon
  2. DAEMON-384

prunsrv stopping with error due to hardcoded timeout

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.0
    • 1.1.1
    • Procrun
    • Windows 7 (x64)

    • Important

    Description

      Due to the fact that in the function service_ctrl_handler, from http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/native/windows/apps/prunsrv/prunsrv.c, the timeout for the case SERVICE_STOP_TIMEOUT is hardcoded to 3 seconds ( 3 * 1000 ms), which in the case of servers with big and multiple deployed application, the actual stopping time of the server might take for sure longer that 3 seconds, and in this case the Windows service will crash with an exception, because it's unable to wait enough so that the server is stopped.

      The resolution is rather simple, just use SO_STOPTIMEOUT * 1000 if SO_STOPTIMEOUT > 0. This way the user that creates the service with procrun/prunsrv can configure the timeout with --StopTimeout=xxx seconds.

      Attachments

        Activity

          People

            ggregory Gary D. Gregory
            blassmegod blassmegod
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified