Systemd/src/core
Lennart Poettering a354329f72 core: add new logic for services to store file descriptors in PID 1
With this change it is possible to send file descriptors to PID 1, via
sd_pid_notify_with_fds() which PID 1 will store individually for each
service, and pass via the usual fd passing logic on next invocation.
This is useful for enable daemon reload schemes where daemons serialize
their state to /run, push their fds into PID 1 and terminate, restoring
their state on next start from the data in /run and passed in from PID
1.

The fds are kept by PID 1 as long as no POLLHUP or POLLERR is seen on
them, and the service they belong to are either not dead or failed, or
have a job queued.
2015-01-06 03:16:39 +01:00
..
.gitignore build-sys: move more files from core/ to share/ that are generic enough 2013-11-22 16:31:40 +01:00
audit-fd.c treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01:00
audit-fd.h audit: turn the audit fd into a static variable 2012-10-02 17:40:09 -04:00
automount.c unit: handle nicely of certain unit types are not supported on specific systems 2014-12-15 19:02:17 +01:00
automount.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
bus-endpoint.c core: rearrange code so that libsystemd/sd-bus/ does not include header files from core 2014-12-23 19:15:27 +01:00
bus-endpoint.h core: rearrange code so that libsystemd/sd-bus/ does not include header files from core 2014-12-23 19:15:27 +01:00
bus-policy.c bus: add missing bus-policy.[ch] 2014-12-23 21:06:01 +01:00
bus-policy.h bus: add missing bus-policy.[ch] 2014-12-23 21:06:01 +01:00
busname.c core: rearrange code so that libsystemd/sd-bus/ does not include header files from core 2014-12-23 19:15:27 +01:00
busname.h core: rearrange code so that libsystemd/sd-bus/ does not include header files from core 2014-12-23 19:15:27 +01:00
cgroup.c cgroup: memory limits on / are not supported 2015-01-05 19:04:10 -05:00
cgroup.h scope: make attachment of initial PIDs a bit more robust 2014-12-10 22:06:44 +01: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 kdbus: when uploading bus name policy, resolve users/groups out-of-process 2014-06-05 13:09:46 +02: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 core: introduce new Delegate=yes/no property controlling creation of cgroup subhierarchies 2014-11-05 18:49:14 +01:00
dbus-cgroup.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 run: add a new "-t" mode for invoking a binary on an allocated TTY 2014-12-23 03:26:24 +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 treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
dbus-job.h core: Common code for DBus methods that Cancel a job 2014-08-15 14:07:07 +02:00
dbus-kill.c includes: remove duplicate includes 2014-02-10 13:06:31 +01:00
dbus-kill.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-manager.c sd-bus: move common errors src/shared/bus-errors.h → src/libsystemd/sd-bus/bus-common-errors.h 2014-12-10 19:07:48 +01:00
dbus-manager.h bus: add sd_bus_track object for tracking peers, and port core over to it 2014-03-03 02:34:13 +01:00
dbus-mount.c mount: add new SloppyOptions= setting for mount units, mapping to mount(8)'s "-s" switch 2014-06-16 01:02:27 +02: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 sd-bus: move common errors src/shared/bus-errors.h → src/libsystemd/sd-bus/bus-common-errors.h 2014-12-10 19:07:48 +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: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +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: rework cgroup mask propagation 2014-02-17 15:49:21 +01:00
dbus-slice.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
dbus-snapshot.c mac: add mac_ prefix to distinguish origin security apis 2014-10-28 14:31:48 +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 socket: suffix newly added TCP sockopt time properties with "Sec" 2014-08-19 21:58:48 +02: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 swap: replace Discard= setting by a more generic Options= setting 2014-10-28 14:31:25 +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 timer: timer can be a transient unit 2014-12-08 16:28:56 +01:00
dbus-timer.h timer: timer can be a transient unit 2014-12-08 16:28:56 +01:00
dbus-unit.c core: properly pass unit file state to clients via the bus 2014-12-10 19:58:50 +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 sd-bus: move common errors src/shared/bus-errors.h → src/libsystemd/sd-bus/bus-common-errors.h 2014-12-10 19:07:48 +01:00
dbus.h core: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02:00
device.c unit: handle nicely of certain unit types are not supported on specific systems 2014-12-15 19:02:17 +01:00
device.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
execute.c journal: call connect() with dropped privileges 2015-01-05 14:12:58 -05:00
execute.h core: make exec_command_free_list return NULL 2014-12-18 19:26:21 -05:00
failure-action.c manager: print warning on console before reboot 2014-10-27 23:17:49 -04:00
failure-action.h core: introduce "poweroff" as new failure action types 2014-08-22 18:10:31 +02:00
hostname-setup.c treewide: another round of simplifications 2014-11-28 19:57:32 +01:00
hostname-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
ima-setup.c copy: use btrfs reflinking only whe we know we copy full files 2014-12-12 17:30:25 +01:00
ima-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
job.c core: rework counting of running jobs 2015-01-05 17:54:59 +01:00
job.h unit: handle nicely of certain unit types are not supported on specific systems 2014-12-15 19:02:17 +01: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 treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01:00
killall.h core: fix order of parameters in broadcast_signal() 2013-11-25 23:03:03 +01:00
kmod-setup.c kmod-setup: simplify kernel command line parsing 2014-11-27 22:05:24 +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 Move dropin listing to shared 2014-12-16 00:30:33 -05:00
load-dropin.h Move dropin listing to shared 2014-12-16 00:30:33 -05:00
load-fragment-gperf.gperf.m4 core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
load-fragment.c load-fragment: allow quoting in command name and document allowed escapes 2014-12-18 19:26:21 -05:00
load-fragment.h core: warn and ignore SysVStartPriority= 2014-11-30 19:10:40 -05:00
locale-setup.c treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
locale-setup.h rework systemd's own process environment handling/passing 2013-07-26 18:40:40 +02:00
loopback-setup.c core: loopback - correctly fail the loopback_check if somehow the rtnl calls fail 2014-12-29 13:07:03 +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 tree-wide: spelling fixes 2014-12-30 20:07:04 -05:00
machine-id-setup.h machine-id-setup: add a machine_id_commit call to commit on disk a transient machine-id 2014-12-03 03:41:19 +01:00
macros.systemd.in rpm: add user macros 2014-10-27 22:34:09 -04:00
main.c core: fix typo in log message 2015-01-05 14:13:45 +01:00
Makefile build-sys: add stub makefiles to make emacs easier to use 2012-04-12 13:35:56 +02:00
manager.c core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
manager.h mount: monitor for utab changes with inotify 2014-11-28 14:30:50 -05:00
mount-setup.c nspawn: mount most of the cgroup tree read-only in nspawn containers except for the container's own subtree in the name=systemd hierarchy 2015-01-05 01:40:51 +01:00
mount-setup.h mount-setup: remove mount_setup_late() 2014-11-14 15:18:56 +01:00
mount.c mount: do not use -n when running in --user mode 2015-01-01 14:39:21 -05:00
mount.h core: retry unmounting until we are done, in case of stacked mounts 2014-12-12 20:12:35 +01:00
namespace.c Type of mount(2) flags is unsigned long 2015-01-01 14:39:17 -05:00
namespace.h Type of mount(2) flags is unsigned long 2015-01-01 14:39:17 -05:00
org.freedesktop.systemd1.conf systemctl: add add-wants and add-requires verbs 2014-10-08 12:44:00 +02:00
org.freedesktop.systemd1.policy.in.in polkit: as we dropped support for the polkit bus transport, also drop its polkit policy 2014-10-13 17:19:31 +02:00
org.freedesktop.systemd1.service move more main systemd parts to core/ 2012-04-12 14:24:40 +02:00
path.c util: fix strict aliasing violations in use of struct inotify_event v5 2014-12-24 16:53:04 +01:00
path.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
scope.c scope: make attachment of initial PIDs a bit more robust 2014-12-10 22:06:44 +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 treewide: another round of simplifications 2014-11-28 19:57:32 +01:00
selinux-access.h selinux-access: fix broken ternary operator 2014-11-21 21:23:39 +01:00
selinux-setup.c manager: print fatal errors on the console too 2014-11-26 15:17:07 -05:00
selinux-setup.h mac: add mac_ prefix to distinguish origin security apis 2014-10-28 14:31:48 +01:00
service.c core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
service.h core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
show-status.c core: add missing show-status.[ch] 2014-03-03 22:27:25 +01:00
show-status.h core: add missing show-status.[ch] 2014-03-03 22:27:25 +01:00
shutdown.c tree-wide: spelling fixes 2014-12-30 20:07:04 -05:00
slice.c log: rearrange log function naming 2014-11-27 22:05:24 +01:00
slice.h core: general cgroup rework 2013-06-27 04:17:34 +02:00
smack-setup.c treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01:00
smack-setup.h mac: add mac_ prefix to distinguish origin security apis 2014-10-28 14:31:48 +01:00
snapshot.c sd-bus: move common errors src/shared/bus-errors.h → src/libsystemd/sd-bus/bus-common-errors.h 2014-12-10 19:07:48 +01:00
snapshot.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
socket.c tmpfiles: add new line type 'v' for creating btrfs subvolumes 2014-12-28 02:08:40 +01:00
socket.h socket: introduce SELinuxContextFromNet option 2014-09-19 12:32:06 +02:00
swap.c unit: handle nicely of certain unit types are not supported on specific systems 2014-12-15 19:02:17 +01:00
swap.h swap: drop noauto/nofail bools from Swap structure 2014-10-28 14:31:25 +01:00
system.conf core: Support system.conf.d and user.conf.d directories in the usual search paths 2014-11-29 13:55:31 -05:00
systemd.pc.in pc: no longer expose exec_prefix in .pc file 2014-06-30 23:19:00 +02: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
timer.c timer: timer can be a transient unit 2014-12-08 16:28:56 +01:00
timer.h timer: support timers that can resume the system from suspend 2014-03-24 16:24:07 +01:00
transaction.c sd-bus: move common errors src/shared/bus-errors.h → src/libsystemd/sd-bus/bus-common-errors.h 2014-12-10 19:07:48 +01:00
transaction.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
umount.c treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01:00
umount.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
unit-printf.c Always check asprintf return code 2014-07-26 15:08:41 -04:00
unit-printf.h specifier: rework specifier calls to return proper error message 2013-09-17 10:06:50 -05:00
unit.c core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
unit.h core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
user.conf core: Support system.conf.d and user.conf.d directories in the usual search paths 2014-11-29 13:55:31 -05:00