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?