[arch-dev-public] initscripts change: daemon shutdown
jason at archlinux.org
Fri Oct 26 13:28:27 EDT 2007
On Fri, Oct 26, 2007 at 12:12:27PM -0500, Aaron Griffin wrote:
> On 10/26/07, Jason Chu <jason at archlinux.org> wrote:
> > On Sun, Oct 21, 2007 at 11:30:39AM +0200, Thomas Bächler wrote:
> > > initscripts have been changed to only shut down daemons which use
> > > add_daemon and are thus in /var/run/daemons. Please fix daemon scripts
> > > which both need a shutdown AND don't have add_daemon.
> > >
> > > On my end, I will fix bluetooth. Please check your system for others.
> > I just noticed a problem with dbmail that highlights a method we used to
> > use...
> > What do you do if a daemon script starts multiple daemons?
> > /etc/rc.d/dbmail can start dbmail-imapd, dbmail-pop3d, dbmail-lmtpd and it
> > runs add_daemon dbmail-imapd, dbmail-pop3d, and dbmail-lmtpd.
> > One option is to just run "add_daemon dbmail" to signal arch that we need
> > to stop the dbmail daemon script. Is this what we want to do or are there
> > other ways to fix it?
> I don't think I understand what you mean. Each daemon script should be
> "reversible" - that is, if my start) section spawns off 3 processes,
> they should all be killed by stop). If it starts other rc.d scripts,
> then it should also stop them as well. If stopping them is not a good
> idea (in the case of hal/dbus), as long as THOSE scripts add_daemon,
> it will be handled properly.
Nope, it's not like that. The dbmail rc script works wonderfully. The
problem is the way rc.shutdown detects running daemons.
When rc.shutdown starts shutting down it goes through all the files in
/var/run/daemons instead of checking DAEMONS in rc.conf. It looks at each
file in /var/run/daemons and sees if /var/run/daemons/* exists in
/etc/rc.d. If it does, then it runs /etc/rc.d/* stop.
Because dbmail calls add_daemon dbmail-imapd, etc rc.shutdown looks for
/etc/rc.d/dbmail-imapd and never tries to run /etc/rc.d/dbmail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
More information about the arch-dev-public