Systemd/src/core
Lennart Poettering 2928b0a863 core: add support for a configurable system-wide start-up timeout
When this system-wide start-up timeout is hit we execute one of the
failure actions already implemented for services that fail.

This should not only be useful on embedded devices, but also on laptops
which have the power-button reachable when the lid is closed. This
devices, when in a backpack might get powered on by accident due to the
easily reachable power button. We want to make sure that the system
turns itself off if it starts up due this after a while.

When the system manages to fully start-up logind will suspend the
machine by default if the lid is closed. However, in some cases we don't
even get as far as logind, and the boot hangs much earlier, for example
because we ask for a LUKS password that nobody ever enters.

Yeah, this is a real-life problem on my Yoga 13, which has one of those
easily accessible power buttons, even if the device is closed.
2014-08-22 18:10:31 +02: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 util: replace close_nointr_nofail() by a more useful safe_close() 2014-03-18 19:31:34 +01:00
audit-fd.h audit: turn the audit fd into a static variable 2012-10-02 17:40:09 -04:00
automount.c use more _cleanup_ macro 2014-06-24 19:09:57 +02:00
automount.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
build.h build: remove repeated KMOD section 2014-08-20 11:25:23 +02:00
busname.c Print kdbus path when opening fails 2014-07-26 15:08:42 -04:00
busname.h kdbus: when uploading bus name policy, resolve users/groups out-of-process 2014-06-05 13:09:46 +02:00
cgroup.c cgroup: only generate warnings if actually writing to cgroup attributes failed 2014-08-15 18:14:37 +02:00
cgroup.h cgroups: simplify CPUQuota= logic 2014-05-22 11:53:12 +09:00
condition.c firstboot: get rid of firstboot generator again, introduce ConditionFirstBoot= instead 2014-07-07 21:05:09 +02:00
condition.h condition: split out most of condition handling into libsystemd-shard 2014-02-20 20:14:33 +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 cgroups: simplify CPUQuota= logic 2014-05-22 11:53:12 +09: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 time-util: add and use USEC/NSEC_INFINIY 2014-07-29 13:20:20 +02: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 remove unused variables 2014-08-19 22:55:42 +02: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 core: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02: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 core: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02:00
dbus-scope.h core: introduce new stop protocol for unit scopes 2014-01-31 17:48:36 +01:00
dbus-service.c core: Added support for ERRNO NOTIFY_SOCKET message parsing, and added StatusErrno dbus property along StatusText to allow notification of numeric status condition while degraded service operation or any other special situation. 2014-07-07 17:01:25 +02: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 core: no need to pass bus object to selinux access check calls anymore 2014-05-14 22:58:43 +02: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 core: rework cgroup mask propagation 2014-02-17 15:49:21 +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: support timers that can resume the system from suspend 2014-03-24 16:24:07 +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: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02:00
dbus-unit.h bus: rework message handlers to always take an error argument 2013-11-21 21:12:36 +01:00
dbus.c core: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02:00
dbus.h core: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02:00
device.c Properly report invalid quoted strings 2014-07-31 08:56:03 -04:00
device.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
execute.c execute: explain in a comment, why close_all_fds() is invoked the second time differently 2014-08-21 17:35:19 +02:00
execute.h Revert "socket: introduce SELinuxLabelViaNet option" 2014-08-19 19:16:08 +02:00
failure-action.c core: add support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02:00
failure-action.h core: add support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02: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: reindent {selinux, ima, smack}-setup.c 2014-04-26 00:54:03 +02:00
ima-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
job.c core: Rename Job.subscribed field to Job.clients 2014-08-15 14:07:07 +02:00
job.h core: Rename Job.subscribed field to Job.clients 2014-08-15 14:07:07 +02: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 use more _cleanup_ macro 2014-06-24 19:09:57 +02:00
killall.h core: fix order of parameters in broadcast_signal() 2013-11-25 23:03:03 +01:00
kmod-setup.c kmod: conditionalize kmod setup on CAP_SYS_MODULE, not whether we run in a container 2014-06-17 03:26:40 +02:00
kmod-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
load-dropin.c core: do not add dependencies to self 2014-08-07 20:42:58 -04:00
load-dropin.h Introspect and monitor dropin configuration 2013-04-01 23:43:49 -04:00
load-fragment-gperf.gperf.m4 socket: suffix newly added TCP sockopt time properties with "Sec" 2014-08-19 21:58:48 +02:00
load-fragment.c core/load-fragment.c: correct argument sign and split up long lines 2014-07-31 08:56:03 -04:00
load-fragment.h kdbus: when uploading bus name policy, resolve users/groups out-of-process 2014-06-05 13:09:46 +02:00
locale-setup.c Introduce strv_consume which takes ownership 2014-03-04 10:04:50 -05: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-setup - only up the loopback device 2014-08-08 13:09:51 +02: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 machine-id-setup: don't try to read UUID from VM/container manager if we operate on a root directory that's not / 2014-08-20 13:51:17 +02:00
machine-id-setup.h machine-id: add --root option to operate on an alternate fs tree 2014-03-14 12:44:17 +01:00
macros.systemd.in sysusers: add a new RPM macro for creating users directly from data passed in via stdin 2014-08-19 02:16:27 +02:00
main.c core: add support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02: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 support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02:00
manager.h core: add support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02:00
mount-setup.c mount-setup: fix counting of early mounts without SMACK 2014-08-13 20:01:21 +02:00
mount-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
mount.c core: Refuse mount on symlink 2014-08-15 01:35:28 +02:00
mount.h mount: add new SloppyOptions= setting for mount units, mapping to mount(8)'s "-s" switch 2014-06-16 01:02:27 +02:00
namespace.c drop_duplicates: copy full BindMount struct 2014-07-27 15:15:11 -04:00
namespace.h core: rename ReadOnlySystem= to ProtectSystem= and add a third value for also mounting /etc read-only 2014-06-04 18:12:55 +02:00
org.freedesktop.systemd1.conf core: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02:00
org.freedesktop.systemd1.policy.in.in core: Verify systemd1 DBus method callers via polkit 2014-08-18 18:08:28 +02:00
org.freedesktop.systemd1.service move more main systemd parts to core/ 2012-04-12 14:24:40 +02:00
path.c core: nicer message when inotify watches are exhausted 2014-07-16 22:53:07 -04:00
path.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
scope.c sd-event: rework API to support CLOCK_REALTIME_ALARM and CLOCK_BOOTTIME_ALARM, too 2014-03-24 02:58:41 +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 selinux: fix build for non-selinux systems 2014-05-15 17:48:28 +02:00
selinux-access.h core: no need to pass bus object to selinux access check calls anymore 2014-05-14 22:58:43 +02:00
selinux-setup.c core: let selinux_setup() load policy more than once 2014-05-16 20:09:02 +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: add support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02:00
service.h core: add support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02: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 Unify parse_argv style 2014-08-03 21:46:07 -04:00
slice.c core: rework context initialization/destruction logic 2014-03-19 21:06:53 +01:00
slice.h core: general cgroup rework 2013-06-27 04:17:34 +02:00
smack-setup.c util: replace close_nointr_nofail() by a more useful safe_close() 2014-03-18 19:31:34 +01:00
smack-setup.h smack: set loaded_policy in smack_setup() 2014-02-24 17:36:13 +01:00
snapshot.c core/snapshot: log info when snapshots are created and removed 2014-06-22 15:30:28 -04:00
snapshot.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
socket.c core: unify how we generate the prefix string when dumping unit state 2014-08-21 17:24:21 +02:00
socket.h Revert "socket: introduce SELinuxLabelViaNet option" 2014-08-19 19:16:08 +02:00
swap.c Remove unnecessary casts in printfs 2014-05-15 15:29:58 +02: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: not only mkdir the parents but the target dir 2014-08-13 16:45:53 +02: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 core: add support for a configurable system-wide start-up timeout 2014-08-22 18:10:31 +02: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: order OnCalendar units after timer-sync.target if DefaultDependencies=no 2014-08-14 01:49:40 +02:00
timer.h timer: support timers that can resume the system from suspend 2014-03-24 16:24:07 +01:00
transaction.c systemd-analyze verify: improve error message 2014-07-31 08:56:03 -04:00
transaction.h core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
umount.c use more _cleanup_ macro 2014-06-24 19:09:57 +02: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: unify how we generate the prefix string when dumping unit state 2014-08-21 17:24:21 +02:00
unit.h core: rework context initialization/destruction logic 2014-03-19 21:06:53 +01:00
user.conf core: add a setting to globally control the default for timer unit accuracy 2014-03-24 16:24:07 +01:00