[systemd-devel] sysv-generator weirdness for shutdown runlevels
Francis Moreau
francis.moro at gmail.com
Wed May 25 20:12:44 UTC 2016
Hello,
I'm starring at a chunk of code of the sysv-generator (shown below)
for some while now and I still can't see its purpose.
Here's the code taken from src/sysv-generator/sysv-generator.c:
static int set_dependencies_from_rcnd(const LookupPaths *lp, Hashmap
*all_services) {
[...]
} else if (de->d_name[0] == 'K' &&
(rcnd_table[i].type ==
RUNLEVEL_DOWN)) {
set_ensure_allocated(&shutdown_services, NULL);
set_put(shutdown_services, service);
}
[...]
For simplicity sake, I removed the sanity checkings.
If I parsed it correctly, it handles symlinks in rc[06].d/ such as:
/etc/init.d/rc0.d/K50foo.
In this case this adds a "Conflicts=shutdown.target" and
"Before=shutdown.target" to the foo stub service.
What exactly the point to do that specially ? which sysvinit behavior
systemd is try to mimic ?
Thanks.
--
Francis
More information about the systemd-devel
mailing list