Systemd/src/udev
Paul Davey 9f537ae310 udev: Ensure udev_event_spawn reads stdout
When running the program with udev_event_spawn it is possible to miss
output in stdout when the program exits causing the result to be empty
which can cause rules using the result to not function correctly.

This is due to the on_spawn_sigchld callback being processed while IO is
still pending and causing the event loop to exit.

To correct this the sigchld event source is made a lower priority than
the other event sources to ensure it is processed after IO.  This
requires changing the IO event source to oneshot and re-enabling it when
valid data is read but not for EOF, this prevents the empty pipes
constantly generating IO events.
2019-12-04 10:31:37 +01:00
..
ata_id udev: do not hardcode program name 2019-10-11 14:45:02 +02:00
cdrom_id udev/cdrom_id: Do not open CD-rom in exclusive mode. 2019-10-24 00:09:18 +02:00
fido_id test: move {test,fuzz}-fido-id-desc.c into src/udev/fido_id 2019-10-31 10:37:42 +09:00
mtd_probe coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
net udev: tiny update for log messages 2019-11-26 10:42:54 +01:00
scsi_id tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
v4l_id tree-wide: replace explicit NULL checks with their shorter variants 2019-04-28 14:28:49 +02:00
.vimrc
generate-keyboard-keys-gperf.sh scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
generate-keyboard-keys-list.sh scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
meson.build test: move {test,fuzz}-fido-id-desc.c into src/udev/fido_id 2019-10-31 10:37:42 +09:00
udev-builtin-blkid.c libblkid: open device in nonblock mode. 2019-11-08 12:11:32 +01:00
udev-builtin-btrfs.c udev: modernize udev-rules.c 2019-06-02 14:15:26 +09:00
udev-builtin-hwdb.c udev: modernize udev-rules.c 2019-06-02 14:15:26 +09:00
udev-builtin-input_id.c tree-wide: drop input.h when missing_input.h is included 2019-11-04 00:30:32 +09:00
udev-builtin-keyboard.c tree-wide: drop stdio.h when stdio-util.h is included 2019-11-04 00:30:32 +09:00
udev-builtin-kmod.c tree-wide: drop libkmod.h when module-util.h is included 2019-11-04 00:30:32 +09:00
udev-builtin-net_id.c tree-wide: drop stdio.h when stdio-util.h is included 2019-11-04 00:30:32 +09:00
udev-builtin-net_setup_link.c udev: modernize udev-rules.c 2019-06-02 14:15:26 +09:00
udev-builtin-path_id.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
udev-builtin-uaccess.c udev: modernize udev-rules.c 2019-06-02 14:15:26 +09:00
udev-builtin-usb_id.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
udev-builtin.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
udev-builtin.h udev: modernize udev-rules.c 2019-06-02 14:15:26 +09:00
udev-ctrl.c tree-wide: drop socket.h when socket-util.h is included 2019-11-04 00:30:32 +09:00
udev-ctrl.h udev-ctrl: split out logic of waiting for reply to udev_ctrl_wait() 2019-02-20 06:17:42 +09:00
udev-event.c udev: Ensure udev_event_spawn reads stdout 2019-12-04 10:31:37 +01:00
udev-event.h udev-rules: add precise information to rule failure logs 2019-06-28 16:20:48 +02:00
udev-node.c udev: ignore error caused by device disconnection 2019-11-12 14:58:53 +09:00
udev-node.h udev: run programs in the specified order 2019-03-05 09:27:29 +01:00
udev-rules.c udev: do not propagate error in executing PROGRAM and IMPORT{program} 2019-11-19 20:20:46 +01:00
udev-rules.h udev: move rule structure definitions into the .c file 2019-06-28 16:20:48 +02:00
udev-watch.c coccinelle: also mark previous synthetic errnos as such 2018-11-22 10:54:38 +01:00
udev-watch.h udev-watch: replace udev_device by sd_device and modernize code a bit 2018-10-11 04:21:14 +09:00
udev.conf udev: also allow resolve_names= to be specified in udev.conf 2018-11-13 14:35:36 +01:00
udev.pc.in meson: define PROJECT_VERSION as the "bare" project version 2018-12-20 21:35:29 +01:00
udevadm-control.c udevadm: drop pointless must_be_root() checks 2019-05-08 11:51:51 +02:00
udevadm-hwdb.c coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
udevadm-info.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
udevadm-monitor.c tree-wide: drop signal.h when signal-util.h is included 2019-11-04 00:30:32 +09:00
udevadm-settle.c tree-wide: drop string.h when string-util.h or friends are included 2019-11-04 00:30:32 +09:00
udevadm-test-builtin.c udev: modernize udev-rules.c 2019-06-02 14:15:26 +09:00
udevadm-test.c udevadm: support special value 'help' for --action option 2019-06-29 04:10:14 +09:00
udevadm-trigger.c udevadm: ignore EROFS and return earlier 2019-11-18 16:07:21 +01:00
udevadm-util.c udevadm: allow a .device unit to be specified for query and trigger 2018-12-11 09:24:31 +01:00
udevadm-util.h udevadm-info,trigger: replace udev_device by sd_device 2018-10-17 03:31:20 +09:00
udevadm.c tree-wide: constify a few static string tables 2019-03-25 14:04:34 +01:00
udevadm.h udevadm: add a workaround for dracut 2019-01-02 10:26:16 +01:00
udevd.c udevd: don't use monitor after manager_exit() 2019-11-26 20:38:28 +01:00