Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad entry: https://launchpad.net/products/upstart/+spec/remove-idle-event
Upstart can currently emit an event when all jobs are either running or waiting, known as the idle event. This specification proposes removing that feature.
This feature was added to permit the shutdown sequence to work, which requires multiple events issued in series with each other. The system becoming "idle" was the only method to determine that one of the events had been handled, so we could issue the next. The EventCompletion specification provides a much better method of doing this.
This scope of this specification is limited to the removal of the idle event, it does not propose its replacement; nor does it propose the removal of the "stalled" event which has other uses.
- The ability to set an idle event will be removed.
- The triggering of the idle event will also be removed.
Changes are largely limited to init/job.c. The job_set_idle_event function will be removed; the job_detect_idle function will be renamed to job_detect_stalled and only detect that condition.
Data preservation and migration
These changes must be made once the shutdown sequence has been modified to use an alternative method of serialisation.