www.nico.schottelius.org/software/cinit/browse_source/cinit-0.2.1/doc/caveats
Nico Schottelius 423ba10303 import cinit from unix.schottelius.org
Signed-off-by: Nico Schottelius <nico@ikn.schottelius.org>
2009-09-16 12:53:45 +02:00

58 lines
2.5 KiB
Text

--------------------------------------------------------------------------------
'Geheimnisse' in German,
Nico Schottelius, 2005-05-XX (Last Modified: 2005-06-11)
--------------------------------------------------------------------------------
- Dependencies beginning with a '.' (dot) are ignored.
So you can temporarily disable a dependency moving it to
want/.name
- Why is the name of the socket "coala"?
Well, coala could mean 'cinit object abstract layer access', but
perhaps it's a much simpler reason.
- cinit will start a little bit faster if you omit non needed
'wants' and 'needs' dirs as they need to be scanned if they
do not exist
- Currently there is no support to react on 'ctr+alt+del':
1. It is not handled to switch on / off
(Linux: See man 2 reboot and /proc/sys/kernel/ctrl-alt-del)
2. If the kernel handles it and sends signals to cinit
(SIGINT on Linux) they will be ignored.
There is no problem in implementing a handler for this signal,
the only reason why it is not there
(well, a template is in old/sig_special.c) is that nobody
could tell me what would be the most senseful thing to handle
ctrl-alt-del. If you can, I'll perhaps integrate it.
3. ctrl-alt-del is currently disabled under Linux within
the service local-tuning/ctrl-alt-del
- cinit ignores the Keyboard request
Same thing with 'ctr-alt-del': SIGWINCH is sent, but I don't
know what to do when recieving it.
- cinit does not care about its pid
nor does cinit care if it is already running
in serv/cinit.c is a line calling run_init_svc().
If you call that only if getpid() == 1, cinit will behave like sysvinit
and refuse to start if pid is not 1.
Currently cinit has no chance to control whether it's started or
not as /etc/cinit/tmp mounted again for every start.
- cinit will sleep after respawing if ...
a) the service did not terminate normally (!WIFEXITED(status))
b) the service did return a non-zero exit status
- sleeping before rechecking if a service is finished can be optimised
Currently run_svc() checks every SLEEP_RERUN seconds (default: 1),
if the service it should start was finished by another instance
of run_svc(). As run_svc() internally uses nanosleep() for sleeping,
one could modify run_svc to use conf/sleep_rerun as a nanoseconds
value. This would add most likely much often checking, but would
result in faster results from run_svc.
What's the best value for SLEEP_RERUN is currently unknown.