assert(m);
- assert_se(reset_all_signal_handlers() == 0);
-
assert_se(sigemptyset(&mask) == 0);
assert_se(sigaddset(&mask, SIGCHLD) == 0);
assert_se(sigaddset(&mask, SIGINT) == 0); /* Kernel sends us this on control-alt-del */
if ((r = manager_find_paths(m)) < 0)
goto fail;
- if (chdir("/") < 0)
- log_warning("Failed to chdir to /: %s", strerror(errno));
-
- /* Become a session leader if we aren't one yet. */
- setsid();
-
if ((r = manager_setup_signals(m)) < 0)
goto fail;
- if ((r = mount_setup()) < 0)
- goto fail;
-
if ((r = manager_setup_cgroup(m)) < 0)
goto fail;
- /* FIXME: this should be called only when the D-Bus bus daemon is running */
- if ((r = bus_init(m)) < 0)
+ /* Try to connect to the busses, if possible. */
+ if ((r = bus_init_system(m)) < 0 ||
+ (r = bus_init_api(m)) < 0)
goto fail;
*_m = m;
manager_shutdown_cgroup(m);
- bus_done(m);
+ bus_done_api(m);
+ bus_done_system(m);
hashmap_free(m->units);
hashmap_free(m->jobs);
break;
+ case SIGUSR1:
+
+ printf("→ By units:\n");
+ manager_dump_units(m, stdout, "\t");
+
+ printf("→ By jobs:\n");
+ manager_dump_jobs(m, stdout, "\t");
+
+ break;
+
default:
log_info("Got unhandled signal <%s>.", strsignal(sfsi.ssi_signo));
}