Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-18 Thread Lennart Poettering
On Tue, 18.01.11 18:00, Alexander E. Patrakov (patra...@gmail.com) wrote: > > 18.01.2011 04:48, Lennart Poettering wrote: > > > >What systemd currently does is: > > > > If the reload fails it shutdowns the service and informs you about > > the failure. > > > >What systemd probably should

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-18 Thread Lennart Poettering
On Tue, 18.01.11 17:56, Alexander E. Patrakov (patra...@gmail.com) wrote: > 18.01.2011 16:51, Lennart Poettering пишет: > >On Tue, 18.01.11 16:41, Alexander E. Patrakov (patra...@gmail.com) wrote: > > > >>>How is this implemented in detail? Sending SIGINT is async, so at the > >>>time you start th

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-18 Thread Alexander E. Patrakov
18.01.2011 04:48, Lennart Poettering wrote: What systemd currently does is: If the reload fails it shutdowns the service and informs you about the failure. What systemd probably should do (and what is now in the TODO list) is: If the reload fails it should leave the service as

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-18 Thread Alexander E. Patrakov
18.01.2011 16:51, Lennart Poettering пишет: On Tue, 18.01.11 16:41, Alexander E. Patrakov (patra...@gmail.com) wrote: How is this implemented in detail? Sending SIGINT is async, so at the time you start the new instance you cannot be sure that the old instance has stopped listening? Indeed, th

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-18 Thread Lennart Poettering
On Tue, 18.01.11 16:41, Alexander E. Patrakov (patra...@gmail.com) wrote: > >How is this implemented in detail? Sending SIGINT is async, so at the > >time you start the new instance you cannot be sure that the old instance > >has stopped listening? > > Indeed, there is a race here. That's why "/b

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-18 Thread Alexander E. Patrakov
18.01.2011 04:23, Lennart Poettering wrote: On Tue, 11.01.11 09:54, Alexander E. Patrakov (patra...@gmail.com) wrote: instances of lighttpd to coexist for some time. See: after SIGINT, the old instance does not listen on port 80, but continues servicing large downloads that are still in progres

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-18 Thread Marius Tolzmann
hi.. On 01/18/11 00:50, Lennart Poettering wrote: If ExecReload= is fixed to allow multiple lines without crashing, and also doesn't shut down the service if a reload command fails then you will not need ExecConfigTest, correct? true true 8) btw systemd is doing great in our linux-from-scra

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-17 Thread Lennart Poettering
On Tue, 11.01.11 17:30, Marius Tolzmann (tolzm...@molgen.mpg.de) wrote: > >>At last: Isn't that something lighttpd should take care off? Or the > >>user should test before issuing a reload? Or a small script can do? > > > >Isn't one of the points of systemd to eliminate such small scripts? > > Mi

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-17 Thread Lennart Poettering
On Tue, 11.01.11 20:11, Alexander E. Patrakov (patra...@gmail.com) wrote: > >There is no way you can notify systemd that the failed reload > >attempt was just a test prior to executing the real reload command > >(e.g. there is no ExecReloadPre or the like). (If a service keeps > >running I won't c

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-17 Thread Lennart Poettering
On Mon, 10.01.11 18:49, Marius Tolzmann (tolzm...@molgen.mpg.de) wrote: > and why do you explicitly not use the -D option and let systemd do > all the forking stuff for you..? you could get rid off the Type= > PIDFile= lines.. i also removed StandardError=syslog which seems to > be redundant here.

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-17 Thread Lennart Poettering
On Tue, 11.01.11 15:46, Marius Tolzmann (tolzm...@molgen.mpg.de) wrote: > > > hi again.. > > On 01/11/11 11:51, Alexander E. Patrakov wrote: > >After more research, I found the under-documented lighttpd-angel > >program. It does what is needed for babysitting lighttpd: performs the > >"send SIG

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-17 Thread Lennart Poettering
On Tue, 11.01.11 09:54, Alexander E. Patrakov (patra...@gmail.com) wrote: > instances of lighttpd to coexist for some time. See: after SIGINT, > the old instance does not listen on port 80, but continues servicing > large downloads that are still in progress. The new instance accepts > new connect

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-11 Thread Marius Tolzmann
hi.. On 01/11/11 16:11, Alexander E. Patrakov wrote: When the config is bad and the additional ExecReload line is present, systemd does tell me that reload failed. So I have a good reason to check syslog, and even am suggested by systemd to do so. sorry my fault 8).. i thought it was silentl

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-11 Thread Mirco Tischler
Am 11.01.2011 16:11, schrieb Alexander E. Patrakov: >> Also, the "test config before reloading" feature still doesn't work >>> right. If I add this ExecReload line before the existing one: >>> >>> ExecReload=/usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf >>> >>> then systemd will kill lighttp

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-11 Thread Alexander E. Patrakov
11.01.2011 19:46, Marius Tolzmann wrote: hi again.. On 01/11/11 11:51, Alexander E. Patrakov wrote: If you also want graceful stop, you may want to add: ExecStop=/bin/kill -INT $MAINPID but this doesn't work, as lighttpd gets killed immediately. I don't know why this happens. have you tri

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-11 Thread Marius Tolzmann
hi again.. On 01/11/11 11:51, Alexander E. Patrakov wrote: After more research, I found the under-documented lighttpd-angel program. It does what is needed for babysitting lighttpd: performs the "send SIGINT to the old copy and immediately start the new one" dance when it receives SIGHUP. See h

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-11 Thread Alexander E. Patrakov
10.01.2011 22:49, Marius Tolzmann wrote: hi.. can the initial problem of restarting the lighttpd gracefully be solved by something like this?: Restart=on-success ( or on-abort or always .. don't know what the exit-status after graceful kill is in lighty) After more research, I found the und

Re: [systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-10 Thread Alexander E. Patrakov
10.01.2011 22:49, Marius Tolzmann wrote: hi.. [Unit] Description=Lighttpd Web Server After=network.target [Service] Type=forking EnvironmentFile=/etc/conf.d/lighttpd PIDFile=/var/run/lighttpd.pid ExecStartPre=/usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf ExecStart=/usr/sbin/lighttpd -f

[systemd-devel] lighttp unit - graceful reload of configfiles by sending signal to $MAINPID

2011-01-10 Thread Marius Tolzmann
hi.. [Unit] Description=Lighttpd Web Server After=network.target [Service] Type=forking EnvironmentFile=/etc/conf.d/lighttpd PIDFile=/var/run/lighttpd.pid ExecStartPre=/usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf ExecStart=/usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf ExecStop=/bin