** Description changed:

  Binary package hint: sysvinit
  
- If an Upstart job has no stop on condition, Upstart won't stop any
- instances of it. However, if a job has no stop on, but *does* specify
- respawn we have a potential problem at shutdown since:
+ If an Upstart job has no 'stop on' condition, Upstart won't stop any
+ instances of it.
  
- - /etc/init.d/sendsigs will attempt to kill the Upstart job PID(s)
- - Upstart will attempt to respawn the job until the respawn limit is reached.
+ However, if a job has no 'stop on', but *does* specify 'respawn' we have
+ a potential problem at shutdown since if that job stops, it will be
+ restarted by Upstart until its respawn limit is reached.
  
- This bug is to change sendsigs such that it manually stops all Upstart
- jobs with no "stop on" *before* it generates the OMITPIDS list. See
- http://upstart.ubuntu.com/cookbook/#list-all-jobs-with-no-stop-on-
+ Further, if the job does not stop, it will never be killed by sendsigs.
+ 
+ The solution is to modify the upstart_jobs() function in
+ /etc/init.d/sendsigs to only return PIDS for jobs which *do* have a
+ 'stop on' specified. This can be achieved by feeding the list of jobs to
+ 'initctl show-config' and filtering on those jobs which have no 'stop
+ on' line.
+ 
+ See http://upstart.ubuntu.com/cookbook/#list-all-jobs-with-no-stop-on-
  condition for an example of how to list jobs with no "stop on"
- condition. This could be reworked to call "stop --no-wait $job" *before*
- we generate OMITPIDS from the output of "initctl list".
+ condition.
+ 
+ The best solution for jobs which do not specify a 'stop on' condition:
+ 
+ - call "stop --no-wait $job"
+ - do NOT add the associated job processes to OMITPIDS to handle the case 
where 'stop' fails to stop the jobs in a "reasonable amount of time" (for 
example for jobs which specify ridiculously large values for 'kill timeout').

** Tags added: upstart-shutdown

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/750141

Title:
  /etc/init.d/sendsigs should stop Upstart jobs with no stop on
  condition

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sysvinit/+bug/750141/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to