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.


Events emitted as part of a job state change are currently named after the job, with a suffix indicating the new state. An additional event is emitted directly named after the job. This specification proposes changing the set of events to fixed names, with the job as an argument, and removing the job event entirely.


The current names mean that the namespace of jobs and events is shared, which not only causes problems such as the control-alt-delete bug, but also causes great user confusion.

Use cases


The scope of this specification is limited to the set of events generated by the current state machine, it does not propose any alterations to the state machine.




The changes are limited to job_change_state in init/job.c.

The job_event variable and use of it will be removed entirely.

The name of event variable will be set according to the state, and will not include the job name. Instead the job name will be passed as the first argument to this event.

Intermediate states that do not emit events will leave this variable as NULL.

Data preservation and migration

These changes are not backwards compatible, almost all existing jobs will need changing. No migration plan is anticipated at this point in the development cycle.


JobEvents (last edited 2006-11-30 12:35:04 by scott)