49 lines
1.3 KiB
Text
49 lines
1.3 KiB
Text
|
- Add service start/stop to cmd
|
||
|
-> then continue in cinit itself.
|
||
|
|
||
|
cinit_svc_disable.c
|
||
|
|
||
|
- remove malloc for paths
|
||
|
use
|
||
|
|
||
|
- cleanly define functions for cmd
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
- svc_stop_wait()
|
||
|
=> calls svc_stop() and waits until the process
|
||
|
is finished
|
||
|
=> pay attention for child handler!
|
||
|
=> wait for that specific PID!
|
||
|
=> use global lock?
|
||
|
- answer_svc_stop(char *svc, int method)
|
||
|
=> is called by the IPC methods
|
||
|
=> checks whether the service exists
|
||
|
=> returns the status of the service (NOT_EXISTS or
|
||
|
the new one)
|
||
|
=> calls svc_stop_wait(), which returns
|
||
|
=> method =
|
||
|
o including needed_by
|
||
|
o including wanted_by
|
||
|
o including needed_by and wanted_by
|
||
|
o only the service
|
||
|
|
||
|
- cinit blocking while shutting down
|
||
|
=> not good!
|
||
|
=> only needed when being in ipc!
|
||
|
=> otherwise tree_stop() catches that again.
|
||
|
-
|
||
|
- Documentate off exit codes:
|
||
|
* 0: successfully stopped
|
||
|
* 1: internal error: service status unknown
|
||
|
* 2: ...?
|
||
|
|
||
|
Done for pre14:
|
||
|
- svc_stop()
|
||
|
=> stops an existing service
|
||
|
=> sets status
|
||
|
=> calls "off"
|
||
|
- svc_stop_deps() => takes care about dependencies
|
||
|
|
||
|
- Add comment about path_absolute in manpage of cmd => requires the directory
|
||
|
to be there.
|