Systemd/src/core
Zbigniew Jędrzejewski-Szmek bc41f93e90 core/path: install inotify watches top-down instead of bottom-up
When watches are installed from the bottom, it is always possible
to race, and miss a file creation event. The race can be avoided
if a watch is first established for a parent directory, and then for
the file in the directory. If the file is created in the time between,
the watch on the parent directory will fire.

Some messages (mostly at debug level) are added to help diagnose
pidfile issues.

Should fix https://bugzilla.redhat.com/show_bug.cgi?id=917075.
2013-03-03 20:16:56 -05:00
..
.gitignore execute: support syscall filtering using seccomp filters 2012-07-17 04:17:53 +02: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 systemd: use unit logging macros 2013-01-06 13:52:48 -05:00
automount.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
build.h journal: make libgcrypt dependency optional 2012-08-20 16:51:46 +02:00
bus-errors.h selinux: use standard D-Bus error id for access denied 2012-09-24 23:56:35 +02:00
cgroup-attr.c unit: rework resource management API 2013-02-27 18:50:41 +01:00
cgroup-attr.h unit: rework resource management API 2013-02-27 18:50:41 +01:00
cgroup-semantics.c unit: rework resource management API 2013-02-27 18:50:41 +01:00
cgroup-semantics.h unit: rework resource management API 2013-02-27 18:50:41 +01:00
cgroup.c core: add bus API and systemctl commands for altering cgroup parameters during runtime 2013-01-14 21:24:57 +01:00
cgroup.h core: add bus API and systemctl commands for altering cgroup parameters during runtime 2013-01-14 21:24:57 +01:00
condition.c honor SELinux labels, when creating and writing config files 2013-02-14 16:19:38 +01:00
condition.h unit: add ConditionACPower= 2012-12-31 21:24:26 +01:00
dbus-automount.c selinux: rework selinux access check logic 2012-10-02 17:07:00 -04:00
dbus-automount.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-device.c selinux: rework selinux access check logic 2012-10-02 17:07:00 -04:00
dbus-device.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-execute.c honor SELinux labels, when creating and writing config files 2013-02-14 16:19:38 +01:00
dbus-execute.h unit: split off KillContext from ExecContext containing only kill definitions 2012-07-20 00:10:31 +02:00
dbus-job.c dbus: duplicate Job.Cancel() as CancelJob() and Snapshot.Remove() as RemoveSnapshot() on the Manager interface 2013-01-10 23:03:48 +01:00
dbus-job.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-kill.c unit: split off KillContext from ExecContext containing only kill definitions 2012-07-20 00:10:31 +02:00
dbus-kill.h unit: split off KillContext from ExecContext containing only kill definitions 2012-07-20 00:10:31 +02:00
dbus-manager.c unit: rework resource management API 2013-02-27 18:50:41 +01:00
dbus-manager.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-mount.c core: add bus API and systemctl commands for altering cgroup parameters during runtime 2013-01-14 21:24:57 +01:00
dbus-mount.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-path.c selinux: rework selinux access check logic 2012-10-02 17:07:00 -04:00
dbus-path.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-service.c core: add bus API and systemctl commands for altering cgroup parameters during runtime 2013-01-14 21:24:57 +01:00
dbus-service.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-snapshot.c dbus: duplicate Job.Cancel() as CancelJob() and Snapshot.Remove() as RemoveSnapshot() on the Manager interface 2013-01-10 23:03:48 +01:00
dbus-snapshot.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-socket.c core: add bus API and systemctl commands for altering cgroup parameters during runtime 2013-01-14 21:24:57 +01:00
dbus-socket.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-swap.c core: add bus API and systemctl commands for altering cgroup parameters during runtime 2013-01-14 21:24:57 +01:00
dbus-swap.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-target.c selinux: rework selinux access check logic 2012-10-02 17:07:00 -04:00
dbus-target.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-timer.c dbus: properly serialize calendar timer data 2013-01-10 00:56:32 +01:00
dbus-timer.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
dbus-unit.c unit: rework resource management API 2013-02-27 18:50:41 +01:00
dbus-unit.h unit: rework resource management API 2013-02-27 18:50:41 +01:00
dbus.c core: move ManagerRunningAs to shared 2012-09-18 19:53:34 +02:00
dbus.h manager: extend performance measurement interface to include firmware/loader times 2012-09-13 18:54:32 +02:00
device.c systemd: use unit logging macros 2013-01-06 13:52:48 -05:00
device.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
execute.c core/execute: determine if ExecContext may fiddle with /dev/console 2013-02-28 02:23:57 +01:00
execute.h core/execute: determine if ExecContext may fiddle with /dev/console 2013-02-28 02:23:57 +01:00
hostname-setup.c honor SELinux labels, when creating and writing config files 2013-02-14 16:19:38 +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 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
ima-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
initreq.h move libsystemd_core.la sources into core/ 2012-04-11 16:03:51 +02:00
job.c job: print the "OK" status messages in normal green 2013-03-02 17:56:32 +01:00
job.h core, systemctl: add support for irreversible jobs 2013-02-22 16:06:17 +01:00
kill.c unit: split off KillContext from ExecContext containing only kill definitions 2012-07-20 00:10:31 +02:00
kill.h core: drop KillMode parameter from KillUnit() bus call 2012-07-20 00:10:32 +02:00
killall.c killall: avoid gcc warning about wait name clash 2012-07-19 02:17:11 +02:00
killall.h switch-root: don't wait for processes 2012-07-17 17:44:26 +02:00
kmod-setup.c kmod-setup: mounting efivarfs, *after* we tried to mount it, is pointless 2012-11-04 17:00:57 +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 shared: conf-files - add root parameter 2013-02-08 10:23:04 +01:00
load-dropin.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
load-fragment-gperf.gperf.m4 unit: rework resource management API 2013-02-27 18:50:41 +01:00
load-fragment.c specifier: when resolving specifier strings when loading configuration, don't misunderstand parse failures as OOM 2013-03-01 14:54:55 +01:00
load-fragment.h unit: rework resource management API 2013-02-27 18:50:41 +01:00
locale-setup.c honor SELinux labels, when creating and writing config files 2013-02-14 16:19:38 +01:00
locale-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
loopback-setup.c loopback: handle EPERM more gracefully 2012-04-13 18:52:53 +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 honor SELinux labels, when creating and writing config files 2013-02-14 16:19:38 +01: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: udevadm is actually in bindir 2012-11-16 23:29:56 +01:00
main.c honor SELinux labels, when creating and writing config files 2013-02-14 16:19:38 +01:00
Makefile build-sys: add stub makefiles to make emacs easier to use 2012-04-12 13:35:56 +02:00
manager.c manager: turn a superfluous check into assert 2013-03-02 12:57:42 +01:00
manager.h core/manager: print status messages about running jobs 2013-02-28 02:24:02 +01:00
mount-setup.c mount-setup: mount pstore filesystem 2013-02-27 13:08:20 +01:00
mount-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
mount.c fstab,mount: detect rbind as bind mount 2013-03-01 14:43:18 +01:00
mount.h core: add catalog entry and MESSAGE_ID for overmounting 2012-12-05 12:25:50 +01:00
namespace.c nspawn,namespaces: make sure we recursively bind mount things in 2012-08-13 16:25:03 +02:00
namespace.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
org.freedesktop.systemd1.conf move more main systemd parts to core/ 2012-04-12 14:24:40 +02: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/path: install inotify watches top-down instead of bottom-up 2013-03-03 20:16:56 -05:00
path.h units: for all unit settings that take lists, allow the empty string for resetting the lists 2013-01-17 02:50:05 +01:00
securebits.h move libsystemd_core.la sources into core/ 2012-04-11 16:03:51 +02:00
selinux-access.c selinux: use a dynamically sized string when generating audit messages 2013-02-13 19:36:09 +01:00
selinux-access.h 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
selinux-setup.c selinux: rework selinux access check logic 2012-10-02 17:07:00 -04:00
selinux-setup.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
service.c core/path: install inotify watches top-down instead of bottom-up 2013-03-03 20:16:56 -05:00
service.h service: introduce a proper service result if the start limit is hit 2012-08-22 05:02:33 +02:00
shutdown.c shutdown, umount: use verbs consistently 2012-12-07 18:55:19 +01:00
snapshot.c unit: get rid of UnitVTable.suffix, which is now unused 2012-07-10 17:16:50 +02:00
snapshot.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
socket.c core: unify kill code of mount, service, socket, swap units 2013-01-26 05:53:30 +01:00
socket.h units: for all unit settings that take lists, allow the empty string for resetting the lists 2013-01-17 02:50:05 +01:00
special.h service: ignore dependencies on $syslog and $local_fs in LSB scripts 2013-01-16 21:34:09 +01:00
swap.c core: unify kill code of mount, service, socket, swap units 2013-01-26 05:53:30 +01:00
swap.h unit: split off KillContext from ExecContext containing only kill definitions 2012-07-20 00:10:31 +02:00
switch-root.c switch-root: try pivot_root() before overmounting / 2012-11-16 18:21:09 +01:00
switch-root.h switch-root: move switch_root() call into its own .c file 2012-05-21 19:33:39 +02:00
sync.c shutdown: issue a sync() as soon as shutdown.target is queued 2013-02-09 02:20:42 +01:00
sync.h shutdown: issue a sync() as soon as shutdown.target is queued 2013-02-09 02:20:42 +01:00
syscall-list.c execute: Fix seccomp support on x32 2013-01-19 12:03:06 -05:00
syscall-list.h execute: Fix seccomp support on x32 2013-01-19 12:03:06 -05:00
sysfs-show.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
system.conf man: rename systemd.conf to systemd-system.conf 2013-02-13 09:48:32 -05:00
systemd.pc.in rpm: expose preset dir as rpm macro and in systemd.pc 2012-09-13 22:17:46 +02:00
target.c target: imply default ordering for PartsOf deps as well 2012-09-18 11:01:34 +02:00
target.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02: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 units: for all unit settings that take lists, allow the empty string for resetting the lists 2013-01-17 02:50:05 +01:00
timer.h units: for all unit settings that take lists, allow the empty string for resetting the lists 2013-01-17 02:50:05 +01:00
transaction.c core/transaction: replace a bare status_printf() 2013-02-28 02:23:22 +01:00
transaction.h core, systemctl: add support for irreversible jobs 2013-02-22 16:06:17 +01:00
umount.c shutdown: loop - convert to enumerate match 2013-01-20 16:18:00 +01:00
umount.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
unit-printf.c install: allow specifiers in WantedBy/RequiredBy/Alias 2013-01-29 19:01:41 -05:00
unit-printf.h unit: split unit_printf() and friends into its own .c file 2012-09-18 11:27:56 +02:00
unit.c unit: count deserialized job only after it's definitely installed 2013-03-02 12:29:04 +01:00
unit.h core: redefine unit_status_printf() 2013-02-28 02:23:21 +01:00
user.conf man: rename systemd.conf to systemd-system.conf 2013-02-13 09:48:32 -05:00