[pkg-lighttpd] Bug#366366: lighttpd 1.4.11-3 stops when logs are rotated

Richard Green richard.green at swishzone.com
Mon May 8 00:06:56 UTC 2006


Package: lighttpd
Version: 1.4.11-3

When logs are rotated using logrotate and the rotation script 
in /etc/logrotate.d/lighttpd, lighttpd init script is called with the 
'reload' parameter.

Within /etc/init.d/lighttpd, this translates to sending the lighttpd process 
signal 2 (INT).

Although this results in a line in the lighttpd logfile mentioning 'Graceful 
restart', either this does not do as intended, or the privs of the lighttpd 
process do not allow it to recreate a socket listening on port 80. Thus the 
http server process remains running (well sleeping, since it has nothing to 
do), however it is no longer listening on port 80.

logrotate notices this problem:

invoke-rc.d: initscript lighttpd, action "reload" failed.
error: error running shared postrotate script for /var/log/lighttpd/*.log 
run-parts: /etc/cron.daily/logrotate exited with return code 1

I changed my lighttpd init script so the reload function sends signal 1 (HUP) 
instead of signal 2 (INT). Not sure what really happens when you send it that 
signal, there is a errer logfile entry about logs being rotated (though 
obviously the actual rotation is carried out by logrotate...). Signal 1 was 
used in previous init scripts for lighttpd.

Also I noted a discussion you are probably already aware of regarding lighttpd 
and graceful restarts: http://comments.gmane.org/gmane.comp.web.lighttpd/3752

Cheers
Richard Green




More information about the pkg-lighttpd-maintainers mailing list