Systemd/src
Zbigniew Jędrzejewski-Szmek c6e47247a7 basic/exec-util: add support for synchronous (ordered) execution
The output of processes can be gathered, and passed back to the callee.
(This commit just implements the basic functionality and tests.)

After the preparation in previous commits, the change in functionality is
relatively simple. For coding convenience, alarm is prepared *before* any
children are executed, and not before. This shouldn't matter usually, since
just forking of the children should be pretty quick. One could also argue that
this is more correct, because we will also catch the case when (for whatever
reason), forking itself is slow.

Three callback functions and three levels of serialization are used:
- from individual generator processes to the generator forker
- from the forker back to the main process
- deserialization in the main process

v2:
- replace an structure with an indexed array of callbacks
2017-02-20 18:49:13 -05:00
..
ac-power
activate tree-wide: set SA_RESTART for signal handlers we install 2016-12-01 12:41:17 +01:00
analyze analyze: fix build without seccomp 2016-11-10 10:12:31 +01:00
ask-password
backlight tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
basic basic/exec-util: add support for synchronous (ordered) execution 2017-02-20 18:49:13 -05:00
binfmt
boot Revert "Trivial typo fixes and code refactorings (#5191)" 2017-02-01 10:26:50 -05:00
cgls cgls: look at the right variable in error path (#5234) 2017-02-06 13:34:01 +01:00
cgroups-agent
cgtop cgtop: use common function to query cgroup root 2017-02-01 20:29:09 -05:00
core basic/exec-util: add support for synchronous (ordered) execution 2017-02-20 18:49:13 -05:00
coredump coredump: really extract container cmdline (#5167) 2017-01-31 11:04:20 -05:00
cryptsetup Revert "Trivial typo fixes and code refactorings (#5191)" 2017-02-01 10:26:50 -05:00
dbus1-generator Ensure kdbus isn't used (#3501) 2016-06-18 17:24:23 -04:00
debug-generator util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
delta tree-wide: replace all readdir cycles with FOREACH_DIRENT{,_ALL} (#4853) 2016-12-09 10:04:30 +01:00
detect-virt detect-virt: add --private-users switch to check if a userns is active 2016-10-26 20:12:51 -04:00
dissect core,nspawn,dissect: make nspawn's .roothash file search reusable 2017-02-07 12:21:28 +01:00
escape tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
firstboot util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
fsck util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
fstab-generator fstab-generator: also convert % → %% for What= 2017-02-08 17:20:35 +01:00
getty-generator
gpt-auto-generator fs-util: unify code we use to check if dirent's d_name is "." or ".." 2017-02-02 00:06:18 +01:00
hibernate-resume util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
hostname build-sys,hostnamed: allow distributions to override the "localhost" fallback 2017-01-27 23:36:01 -05:00
hwdb hwdb: emit warning when matches are specified at the very end of file 2016-12-11 18:01:26 -05:00
import importd: automatically download .roothash in addition to .nspawn for raw downloads 2016-12-21 19:09:31 +01:00
initctl Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
journal journalctl: replace string_erase with memset('x') 2017-02-05 21:07:55 -05:00
journal-remote Merge pull request #5166 from keszybz/gcc7 2017-02-01 12:02:50 +03:00
kernel-install kernel-install: avoid process substitution 2017-01-11 15:34:54 -05:00
libsystemd sd-event: "when exiting no signal event are pending" is a wrong assertion (#5271) 2017-02-08 20:56:22 +01:00
libsystemd-network networkd: add multicast membership to lldp socket (#5282) 2017-02-09 10:36:13 +01:00
libudev udev-event: use in-place whitespace replacement 2017-01-27 07:58:00 -05:00
locale tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
login logind: Don't try to emit a change signal for the 'Sessions' property (#5211) 2017-02-02 20:39:26 -05:00
machine shared/cgroup-show: extract funtion to query unit cgroup path 2017-02-01 20:31:50 -05:00
machine-id-setup machine-id-setup: --print --commit respects the --root option 2016-12-13 13:03:13 +00:00
modules-load util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
mount systemd-mount: add missing fsck argument (#5238) 2017-02-06 14:25:15 +01:00
network networkd: Allow ':' in label 2017-01-25 00:07:52 +05:30
notify Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
nspawn Merge pull request #4962 from poettering/root-directory-2 2017-02-08 23:05:05 -05:00
nss-myhostname treewide: fix typos and remove accidental repetition of words 2016-07-11 16:18:43 +02:00
nss-mymachines nss: when we encounter an invalid user/group name or UID/GID, don't return EINVAL 2016-12-27 18:09:58 +01:00
nss-resolve nss-resolve: be a bit more careful with returning NSS_STATUS_NOTFOUND 2016-10-24 19:04:43 +02:00
nss-systemd nss: when we encounter an invalid user/group name or UID/GID, don't return EINVAL 2016-12-27 18:09:58 +01:00
path
quotacheck qutoacheck,gpt-auto-generator: trivial coding style improvements 2016-12-21 19:09:28 +01:00
random-seed
rc-local-generator tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
remount-fs tree-wide: always invoke setmntent() with "re" mode 2016-12-20 20:00:09 +01:00
reply-password treewide: replace homegrown memory_erase with explicit_bzero 2017-02-05 21:07:55 -05:00
resolve resolved: downgrade "processing query..." message to debug (#5233) 2017-02-05 17:17:50 -05:00
rfkill tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
run run: exit early in --pty if service failed 2017-02-03 11:51:57 +01:00
shared seccomp: add forgotten munmap() syscall to @file-system (#5291) 2017-02-09 21:29:33 -05:00
sleep basic/exec-util: add support for synchronous (ordered) execution 2017-02-20 18:49:13 -05:00
socket-proxy socket-proxyd: fix --connections-max help message and docs (#5044) 2017-01-10 08:55:50 +01:00
stdio-bridge
sysctl sysctl: minor simplification 2016-11-02 11:39:48 -06:00
system-update-generator system-update-generator: warn if the command line blocks updates (#5173) 2017-02-01 21:50:03 +01:00
systemctl systemctl: make sure that --now is carried out (#5209) 2017-02-08 20:57:08 +01:00
systemd Add sd_is_socket_sockaddr (#4885) 2016-12-14 11:51:26 +01:00
sysusers Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
sysv-generator sysv-generator: properly translate sysv facilities 2016-12-14 18:29:30 +01:00
test basic/exec-util: add support for synchronous (ordered) execution 2017-02-20 18:49:13 -05:00
timedate Add enable_disable() helper 2016-07-31 22:48:22 -04:00
timesync build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
tmpfiles fs-util: unify code we use to check if dirent's d_name is "." or ".." 2017-02-02 00:06:18 +01:00
tty-ask-password-agent treewide: replace homegrown memory_erase with explicit_bzero 2017-02-05 21:07:55 -05:00
udev udev-event: use in-place whitespace replacement 2017-01-27 07:58:00 -05:00
update-done update-done: minor clean-ups 2016-10-24 17:29:51 +02:00
update-utmp Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
user-sessions
vconsole Merge pull request #4448 from msoltyspl/vcfix 2016-10-26 20:55:18 -04:00
veritysetup tree-wide: remove consecutive duplicate words in comments (#5148) 2017-01-24 21:45:30 -05:00
volatile-root fstab-generator: add support for volatile boots 2016-12-21 19:09:29 +01:00
.gitignore
Makefile