I think I'm going to do something slightly different here; the only reason to ever disable respawn is in the shutdown procedure, right now that consists of:
* shutdown/telinit sends an event
* user/system upstart jobs process that event
* user/system upstart job finally calls poweroff, halt or reboot
We should turn that on its head to:
* shutdown/telinit sends shutdown command to init
* init sends an event
* user/system upstart jobs process that event
* init kills all remaining jobs
* init sends a second event
* user/system upstart jobs process that event
* init calls the reboot() syscall itself
This will be ultimately much more in pattern with the Upstart way; and that shutdown command would be what disables respawning.
I think I'm going to do something slightly different here; the only reason to ever disable respawn is in the shutdown procedure, right now that consists of:
* shutdown/telinit sends an event
* user/system upstart jobs process that event
* user/system upstart job finally calls poweroff, halt or reboot
We should turn that on its head to:
* shutdown/telinit sends shutdown command to init
* init sends an event
* user/system upstart jobs process that event
* init kills all remaining jobs
* init sends a second event
* user/system upstart jobs process that event
* init calls the reboot() syscall itself
This will be ultimately much more in pattern with the Upstart way; and that shutdown command would be what disables respawning.
Does this make sense?