Hi,

Debian still provides a generic fallback for sysvinit scripts for
packages not providing a systemd unit like sphinxsearch.
The problem is that this fallback isn't aware of anything else like
"stop" and "start", i.e. systemd will only call sphinxsearch's runscript
with either "start" or "stop" argument.

Due to that, the only lines/function using $DODTIME are never executed.

I would recommend the following fix:

> -  stop)
> -        echo -n "Stopping $DESC: "
> -        do_stop
> -        echo "$NAME."
> -        ;;
> -  force-stop)
> +  stop|force-stop)
>    echo -n "Forcefully stopping $DESC: "
>    do_force_stop
>    if ! running ; then

While this sounds dangerous (always "force-stop" instead of just "stop")
this shouldn't be a problem because "do_force_stop()" calls "kill -15"
at the beginning, i.e. the same thing "do_stop()" would do using
start-stop-daemon. The only difference is that "do_force_stop()" now
waits $DODTIME and _only_ if the service is still running it will be
forcefully killed (which should be safe at this stage or you should
increase $DODTIME if this doesn't fit your needs).


-- 
Regards,
Thomas

Reply via email to