commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "blassmegod (JIRA)" <>
Subject [jira] [Closed] (DAEMON-384) prunsrv stopping with error due to hardcoded timeout
Date Tue, 10 Apr 2018 08:43:00 GMT


blassmegod closed DAEMON-384.

Tested the issue with fix, it works, maybe the only drawback is that that even if the application
wrapped by the procrun service exits before the timeout set on --StopTimeout, the service
stays up (in Stopping mode) until the --StopTimeout set timeout finishes, but it's no blocker
or real issue.

> prunsrv stopping with error due to hardcoded timeout
> ----------------------------------------------------
>                 Key: DAEMON-384
>                 URL:
>             Project: Commons Daemon
>          Issue Type: Bug
>          Components: Procrun
>    Affects Versions: 1.1.0
>         Environment: Windows 7 (x64)
>            Reporter: blassmegod
>            Assignee: Gary Gregory
>            Priority: Major
>              Labels: easyfix, windows
>             Fix For: 1.1.1
>   Original Estimate: 24h
>  Remaining Estimate: 24h
> Due to the fact that in the function *service_ctrl_handler,* from,
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.

This message was sent by Atlassian JIRA

View raw message