Hi Lukasz, Il giorno mer, 31/01/2007 alle 14.09 -0600, Lukasz Szybalski ha scritto: > It seems as this bug was fixed in 2005. I'm not sure whether it is > still the case in 2007. [...]
Would you please try this patch against /etc/init.d/hylafax? It will try a different approach in waiting for daemons. I think the current script is probably wrong, but I cannot reproduce your bug, so I need some more test. Please, let me know if this fix the problem. Thanks, Giuseppe
--- /etc/init.d/hylafax 2006-09-19 09:31:01.000000000 +0200 +++ hylafax-initscript 2007-02-04 11:38:38.739355965 +0100 @@ -179,15 +179,13 @@ daemon_stop() { + log_daemon_msg "Stopping HylaFAX" faxq p=$(ps --no-headers -C faxq -o pid) if [ -n "$p" ] then start-stop-daemon --stop --exec /usr/sbin/faxq - sleep 1 - p=$(ps --no-headers -C faxq -o pid) - [ -n "$p" ] && kill $p fi log_progress_msg "hfaxd" @@ -196,9 +194,6 @@ if [ -n "$p" ] then start-stop-daemon --stop --exec /usr/sbin/hfaxd -- $BINDTO $NEWPROT $OLDPROT $SNPP - sleep 1 - p=$(ps --no-headers -C hfaxd -o pid) - [ -n "$p" ] && kill $p fi if [ ${USE_FAXGETTY} = "yes" ]; then @@ -206,12 +201,22 @@ killall faxgetty 2> /dev/null || true fi - # wait maximum three seconds for server processes to shutdown + # wait maximum ten seconds for server processes to shutdown try=0 - while [ $try -lt 3 -a 0 -lt $(ps --no-headers -Chfaxd,faxq | wc -l) ] + count=1 + while [ $try -lt 10 -a 0 -lt $count ] do - sleep 1 - try=$((try+1)) + if [ ${USE_FAXGETTY} = "yes" ] + then + count=$(ps --no-headers -Chfaxd,faxq,faxgetty | wc -l) + else + count=$(ps --no-headers -Chfaxd,faxq | wc -l) + fi + try=$(($try+1)) + if [ $count -gt 0 ] + then + sleep 1 + fi done if [ 0 -eq "$(ps --no-headers -Chfaxd,faxq | wc -l)" ]