-
Committer:
James Hunt
-
Date:
2014-01-07 17:22:10 UTC
-
Revision ID:
james.hunt@ubuntu.com-20140107172210-o5phkhqrwz9ixp0v
* init/job.c:
- job_change_state(): Call job_process_start() rather than job_process_run().
- job_error_handler(): Handler to deal with failure to start a job process.
* init/job_process.c:
- job_process_start(): Asynchronous replacement for job_process_run() that
forks a child and registers a handler to check for successful child
setup such that it does not need to block itself.
- job_process_spawn(): Now returns child pid as soon as fork was
successful (along with passing back the child setup fd via an
additional parameter) rather than blocking until child setup
complete.
- job_process_error_handler(): New name for job_process_error_read().
- job_process_child_reader(): Deal with errors read via child setup
fd.
- job_process_close_handler(): Handle successful child setup.
- job_process_run_bottom(): Bottom half of hold job_process_run() that
handles any final setup before program job specifies is exec'd.
* init/job_process.h:
- JobProcessErrorHandler: New typedef.
- JobProcessHandlerData: Structure used to pass job details
to async handlers.