On Thu, 28 Jul 2011 10:33:21 +0200 Robert Nagy <rob...@openbsd.org> wrote:
> On (2011-07-28 10:30), Ingo Schwarze wrote: > > Hi Antoine, > > > > Antoine Jacoutot wrote on Thu, Jul 28, 2011 at 10:22:56AM +0200: > > > On Thu, 28 Jul 2011, David Coppa wrote: > > >> On Thu, 28 Jul 2011, Robert Nagy wrote: > > > > >>> It seems that SIGTERM is not enough for mountd, according to > > >>> the code SIGTERM only sends a RPCMNT_UMNTALL broadcast to the > > >>> clients. So I think what we should do in this case is to first > > >>> send a SIGTERM to mountd, and then SIGKILL it in rc_stop(). > > > > >> Something like this? the sleep is just paranoia, don't know > > >> if it's useful... > > > > > Why not use rc_post for SIGKILL? > > > > Because > > > > rc_do rc_wait stop || rc_exit failed > > > > is called before rc_post. > > > > When the daemon refuses to die, the post-mortem action will not > > even be attempted. > > > > >> Index: mountd > > >> =================================================================== > > >> RCS file: /cvs/src/etc/rc.d/mountd,v > > >> retrieving revision 1.1 > > >> diff -u -p -r1.1 mountd > > >> --- mountd 8 Jul 2011 00:54:04 -0000 1.1 > > >> +++ mountd 28 Jul 2011 08:15:37 -0000 > > >> @@ -6,4 +6,10 @@ daemon="/sbin/mountd" > > >> > > >> . /etc/rc.d/rc.subr > > >> > > >> +rc_stop() { > > >> + pkill -f "^${pexp}" > > >> + sleep 1 > > >> + pkill -9 -f "^${pexp}" > > >> +} > > >> + > > >> rc_cmd $1 > > > > I worry more that fixed-time sleeps often prove to short, > > not so much that it might be useless, but i don't see a better > > option right now. Sorry, I can't test or look in more detail > > right now. > > > > Yours, > > Ingo > > > > I am not sure that we want to sleep or not. Theo what do you think? > I am not Theo, but I think we should better sleep in here, just as a precaution to make sure all clients have unmounted.