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?

Reply via email to