Systemd/src/core
Lennart Poettering a911bb9ab2 core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier
When a process dies that we can associate with a specific unit, start
watching all other processes of that unit, so that we can associate
those processes with the unit too.

Also, for service units start doing this as soon as we get the first
SIGCHLD for either control or main process, so that we can follow the
processes of the service from one to the other, as long as process that
remain are processes of the ones we watched that died and got reassigned
to us as parent.

Similar, for scope units start doing this as soon as the scope
controller abandons the unit, and thus management entirely reverts to
systemd. To abandon a unit introduce a new Abandon() scope unit method
call.
2014-02-07 15:14:36 +01:00
..
.gitignore build-sys: move more files from core/ to share/ that are generic enough 2013-11-22 16:31:40 +01:00
async.c Make tmpdir removal asynchronous 2013-09-17 10:26:30 -05:00
async.h Make tmpdir removal asynchronous 2013-09-17 10:26:30 -05:00
audit-fd.c selinux: remove anything PID1-specific from selinux-access.[ch] so that we can reuse it in logind 2012-10-02 17:56:54 -04:00
audit-fd.h audit: turn the audit fd into a static variable 2012-10-02 17:40:09 -04:00
automount.c Use format patterns for usec_t, pid_t, nsec_t, usec_t 2014-01-02 19:45:47 -05:00
automount.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
build.h journal: make libgcrypt dependency optional 2012-08-20 16:51:46 +02:00
busname.c bus: when we cannot bus activate a service because we go down, drop one 2014-01-27 20:12:59 +01:00
busname.h bus: add .busname unit type to implement kdbus-style bus activation 2013-12-02 23:32:34 +01:00
cgroup.c cgroups: Cache controller masks and optimize queues. 2013-11-22 11:22:47 +10:00
cgroup.h cgroups: Cache controller masks and optimize queues. 2013-11-22 11:22:47 +10:00
condition.c util: unify reading of /proc/cmdline 2013-11-06 03:15:16 +01:00
condition.h systemd,systemctl: export condition status and show failing condition 2013-07-17 23:41:10 -04:00
dbus-automount.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-automount.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-busname.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-busname.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-cgroup.c Use format patterns for usec_t, pid_t, nsec_t, usec_t 2014-01-02 19:45:47 -05:00
dbus-cgroup.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-client-track.c shared: switch our hash table implementation over to SipHash 2013-12-22 21:12:25 +01:00
dbus-client-track.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-device.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-device.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-execute.c core: fix warning 2014-02-07 00:01:19 +01:00
dbus-execute.h core: allow User=, Group=, Nice=, Environment=, Type= to be passed when creating a transient service 2014-02-05 02:03:10 +01:00
dbus-job.c bus: decorate the various object vtables with SD_BUS_VTABLE_PROPERTY_CONST where appropriate 2013-12-22 03:50:52 +01:00
dbus-job.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-kill.c kill: fix error return 2014-02-05 02:11:18 +01:00
dbus-kill.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-manager.c core: fix gcc unused variable warning 2014-01-02 19:49:33 -05:00
dbus-manager.h core: don't warn loudly if we cannot send a bus signal to a disconnected client 2013-11-22 20:19:27 +01:00
dbus-mount.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-mount.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-path.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-path.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-scope.c core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier 2014-02-07 15:14:36 +01:00
dbus-scope.h core: introduce new stop protocol for unit scopes 2014-01-31 17:48:36 +01:00
dbus-service.c core: allow User=, Group=, Nice=, Environment=, Type= to be passed when creating a transient service 2014-02-05 02:03:10 +01:00
dbus-service.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-slice.c core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-slice.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-snapshot.c bus: decorate the various object vtables with SD_BUS_VTABLE_PROPERTY_CONST where appropriate 2013-12-22 03:50:52 +01:00
dbus-snapshot.h bus: rework message handlers to always take an error argument 2013-11-21 21:12:36 +01:00
dbus-socket.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-socket.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-swap.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-swap.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-target.c core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-target.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-timer.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-timer.h core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
dbus-unit.c core: fix oom check 2014-01-31 17:48:36 +01:00
dbus-unit.h bus: rework message handlers to always take an error argument 2013-11-21 21:12:36 +01:00
dbus.c bus: fix a couple of format string mistakes 2013-12-28 15:09:26 +01:00
dbus.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
device.c Use enums to make it obvious what boolean params mean 2013-12-26 15:49:54 -05:00
device.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
execute.c exec: introduce PrivateDevices= switch to provide services with a private /dev 2014-01-20 21:28:37 +01:00
execute.h exec: introduce PrivateDevices= switch to provide services with a private /dev 2014-01-20 21:28:37 +01:00
hostname-setup.c hostname: only suppress setting of pretty hostname if it is non-equal to the static hostname and if the static hostname is set, too 2013-05-07 20:56:41 +02:00
hostname-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
ima-setup.c core: move mount_setup_early() to main.c 2013-03-07 20:53:14 +01:00
ima-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
job.c manager: print ephemeral information about running jobs' timeouts (v2) 2014-01-28 19:07:13 -05:00
job.h core: add function to tell when job will time out 2014-01-27 01:23:16 -05:00
kill.c core: introduce new KillMode=mixed which sends SIGTERM only to the main process, but SIGKILL to all daemon processes 2014-01-29 13:42:06 +01:00
kill.h core: introduce new KillMode=mixed which sends SIGTERM only to the main process, but SIGKILL to all daemon processes 2014-01-29 13:42:06 +01:00
killall.c shared: procfs_file_alloca: handle pid==0 2014-01-05 00:59:13 -05:00
killall.h core: fix order of parameters in broadcast_signal() 2013-11-25 23:03:03 +01:00
kmod-setup.c do not run kmod-setup in a container 2013-12-19 01:32:55 +01:00
kmod-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
load-dropin.c conf-parser: warn when we open configuration files with weird access bits 2014-02-03 19:59:18 +01:00
load-dropin.h Introspect and monitor dropin configuration 2013-04-01 23:43:49 -04:00
load-fragment-gperf.gperf.m4 exec: introduce PrivateDevices= switch to provide services with a private /dev 2014-01-20 21:28:37 +01:00
load-fragment.c Use enums to make it obvious what boolean params mean 2013-12-26 15:49:54 -05:00
load-fragment.h bus: add .busname unit type to implement kdbus-style bus activation 2013-12-02 23:32:34 +01:00
locale-setup.c local: fix memory leak when putting together locale settings 2013-10-01 00:17:21 +02:00
locale-setup.h rework systemd's own process environment handling/passing 2013-07-26 18:40:40 +02:00
loopback-setup.c sd-rtnl: simplify sd_rtnl_message_addr_new() 2014-01-22 18:01:45 +01:00
loopback-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
machine-id-setup.c build-sys: use -Og instead of -O0 to catch warnings 2013-10-21 15:46:00 +02:00
machine-id-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
macros.systemd.in rpm: add RPM macro for creating tmpfiles entries after package installation 2013-07-16 18:54:03 +02:00
main.c manager: add systemd.show_status=auto mode 2014-01-27 23:17:03 -05:00
Makefile build-sys: add stub makefiles to make emacs easier to use 2012-04-12 13:35:56 +02:00
manager.c core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier 2014-02-07 15:14:36 +01:00
manager.h manager: also turn on output on unit failure 2014-01-27 23:17:03 -05:00
mount-setup.c exec: introduce PrivateDevices= switch to provide services with a private /dev 2014-01-20 21:28:37 +01:00
mount-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
mount.c core: make sure to always go through both SIGTERM and SIGKILL states of units 2014-01-29 17:46:47 +01:00
mount.h service: add the ability for units to join other unit's PrivateNetwork= and PrivateTmp= namespaces 2013-11-27 20:28:48 +01:00
namespace.c exec: introduce PrivateDevices= switch to provide services with a private /dev 2014-01-20 21:28:37 +01:00
namespace.h exec: introduce PrivateDevices= switch to provide services with a private /dev 2014-01-20 21:28:37 +01:00
org.freedesktop.systemd1.conf systemctl: add commands set-default and get-default 2013-05-30 20:44:41 -04:00
org.freedesktop.systemd1.policy.in.in move more main systemd parts to core/ 2012-04-12 14:24:40 +02:00
org.freedesktop.systemd1.service move more main systemd parts to core/ 2012-04-12 14:24:40 +02:00
path.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
path.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
scope.c core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier 2014-02-07 15:14:36 +01:00
scope.h core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier 2014-02-07 15:14:36 +01:00
selinux-access.c bus: add new sd_bus_creds object to encapsulate process credentials 2013-11-28 18:42:18 +01:00
selinux-access.h bus: rework message handlers to always take an error argument 2013-11-21 21:12:36 +01:00
selinux-setup.c util: make time formatting a bit smarter 2013-04-04 02:56:56 +02:00
selinux-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
service.c core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier 2014-02-07 15:14:36 +01:00
service.h service: remove unneccesary Socket.got_socket_fd 2013-12-01 19:53:55 -05:00
shutdown.c log: don't reopen /dev/console each time we call log_open() 2013-12-18 18:21:27 +01:00
slice.c core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
slice.h core: general cgroup rework 2013-06-27 04:17:34 +02:00
smack-setup.c Run with a custom SMACK domain (label). 2013-10-07 10:23:20 -07:00
smack-setup.h core: mount and initialize Smack 2013-03-07 20:53:14 +01:00
snapshot.c Use enums to make it obvious what boolean params mean 2013-12-26 15:49:54 -05:00
snapshot.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
socket.c core: make sure to always go through both SIGTERM and SIGKILL states of units 2014-01-29 17:46:47 +01:00
socket.h service: add the ability for units to join other unit's PrivateNetwork= and PrivateTmp= namespaces 2013-11-27 20:28:48 +01:00
swap.c core: make sure to always go through both SIGTERM and SIGKILL states of units 2014-01-29 17:46:47 +01:00
swap.h service: add the ability for units to join other unit's PrivateNetwork= and PrivateTmp= namespaces 2013-11-27 20:28:48 +01:00
switch-root.c switch-root: try pivot_root() before overmounting / 2012-11-16 18:21:09 +01:00
switch-root.h use #pragma once instead of foo*foo define guards 2013-11-18 20:28:54 -05:00
sysfs-show.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
system.conf manager: configurable StartLimit default values 2013-11-08 17:00:01 +01:00
systemd.pc.in pkg-config: export systemd{system,user}generatordir and catalogdir 2013-08-03 09:20:12 -04:00
target.c core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
target.h Add __attribute__((const, pure, format)) in various places 2013-05-02 22:52:09 -04:00
tcpwrap.c relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
tcpwrap.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
timer.c core: no need to list properties for PropertiesChanged messages anymore 2013-12-22 03:50:52 +01:00
timer.h timer: make timer accuracy configurable 2013-11-21 22:08:20 +01:00
transaction.c transaction: print more information about conflicting jobs 2014-02-06 00:46:15 -05:00
transaction.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
umount.c core,logind: libudev usage modernizations 2013-12-18 18:21:28 +01:00
umount.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
unit-printf.c core: refuse doing %h, %s, %U specifier resolving in PID 1 2013-12-16 04:59:31 +01:00
unit-printf.h specifier: rework specifier calls to return proper error message 2013-09-17 10:06:50 -05:00
unit.c core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier 2014-02-07 15:14:36 +01:00
unit.h core: watch SIGCHLD more closely to track processes of units with no reliable cgroup empty notifier 2014-02-07 15:14:36 +01:00
user.conf manager: configurable StartLimit default values 2013-11-08 17:00:01 +01:00