Commit graph

53 commits

Author SHA1 Message Date
Kay Sievers cdae488a3f remove "ignore_device"
There is no way to ignore an event these days. Libudev events can
not be suppressed. It only prevents RUN keys from being executed,
which results in an inconsistent behavior in current setups.
2009-11-16 15:22:17 +01:00
Jeremy Kerr d412a68573 util_run_program: restore signal mask before executing event RUN commands
External programs triggered by events (via RUN=) will inherit udev's
signal mask, which is set to block all but SIGALRM. For most utilities,
this is OK, but if we start daemons from RUN=, we run into trouble
(especially as SIGCHLD is blocked).

This change saves the original sigmask when udev starts, and restores it
just before we exec() the external command.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
2009-09-07 12:13:50 +02:00
Kay Sievers 6133f3432f cleanup ./configure installation directory options 2009-06-17 02:25:07 +02:00
Kay Sievers 44b49d3736 move common stuff from udev/ to private parts of libudev/ 2009-06-09 23:05:25 +02:00
Kay Sievers 9060b066d9 move syslog wrapper to libudev 2009-06-09 22:47:48 +02:00
Kay Sievers 48a9b173e8 libudev: move to top-level directory 2009-06-08 21:36:06 +02:00
Kay Sievers 1e03b754ae udevd: convert to event worker processes
Event processes now get re-used after they handled an event. This reduces
pressure on the CPU significantly because cloned event processes no longer
cause page faults in the main daemon. After the events have settled, the
no longer needed worker processes get killed.
2009-06-04 01:44:04 +02:00
Kay Sievers 065db05221 use more efficient string copying 2009-05-20 17:57:52 +02:00
Kay Sievers 4a74214a58 add "static" back to the inline functions
<Keybuk> kay: udev git head ftbfs
<Keybuk> udev-watch.o: In function `udev_selinux_init':
<Keybuk> /../udev/udev.h:130: multiple definition of `udev_selinux_init'
2009-05-07 13:24:40 +02:00
Kay Sievers 37ed4f5619 drop "extern" keyword from non-static function 2009-04-26 13:59:39 +02:00
Scott James Remnant 047f88bca3 Use the udevdb to speed up watch clearing.
Also return a udev_device when looking up by handle as well, so
everything works the same way.
2009-02-23 17:43:53 +00:00
Scott James Remnant bd284db142 udevd: optionally watch device nodes with inotify
This allows you to re-process the rules if the content of the device
has been changed, most useful for block subsystem to cause vol_id to
be run again.
2009-02-11 17:38:56 +00:00
Kay Sievers ec2dd02e2a udevadm: test - remove --force option
Since a while we change the database with a "test" run, but do not update
the node and symlinks. We need to "force" all the time, to keep things
in sync.
2009-01-15 20:20:16 +01:00
Kay Sievers 92f4313665 unify string replacement 2008-11-05 21:49:52 +01:00
Kay Sievers 0bc74ea79f udevd: merge exec and run queue to minimize devpath string compares 2008-10-29 17:32:13 +01:00
Kay Sievers b99028c963 shrink struct udev_event 2008-10-23 02:57:08 +02:00
Kay Sievers 40fd3bc837 shrink struct udev_event 2008-10-23 02:34:22 +02:00
Kay Sievers 6880b25d40 replace in-memory rules array with match/action token list
The in-memory rule array of a common desktop distro install took:
  1151088 bytes
with the token list:
  109232 bytes tokens (6827 * 16 bytes), 71302 bytes buffer
2008-10-23 00:13:59 +02:00
Kay Sievers 14f4025607 add util_resolve_subsys_kernel() 2008-10-22 18:03:38 +02:00
Kay Sievers 54808d77a3 prefix udev-util.c functions with util_* 2008-10-18 20:12:55 +02:00
Kay Sievers c3b1fa66d2 selinux_init(udev) -> udev_selinux_init(udev) 2008-10-18 19:30:42 +02:00
Kay Sievers f1128767cb move udev_rules_apply_format() to udev-event.c 2008-10-18 19:19:56 +02:00
Kay Sievers 2d73813ebc udev_rules_run() -> udev_event_execute_run(); 2008-10-18 15:50:16 +02:00
Kay Sievers dcdcb8cc06 udev_event_run() -> udev_event_execute_rules() 2008-10-18 15:46:55 +02:00
Kay Sievers d0db192fa5 move run_program to util 2008-10-18 15:25:05 +02:00
Kay Sievers d7ddce186c make struct udev_rules opaque 2008-10-18 15:02:01 +02:00
Kay Sievers c7521974a3 merge udev-rules.c and udev-rules-parse.c 2008-10-18 14:33:37 +02:00
Kay Sievers 7e02792760 udevd: use udev_list_node 2008-10-17 18:59:27 +02:00
Kay Sievers a390e6f764 delete name_list, move common file functions 2008-10-16 20:23:56 +02:00
Kay Sievers daa849db6f udev-rules-parse: name_list -> udev_list 2008-10-16 20:12:16 +02:00
Kay Sievers 8460299b57 rename udev source files 2008-10-16 18:13:48 +02:00
Kay Sievers fc233a874b move udev_device_db to libudev 2008-10-16 17:30:06 +02:00
Kay Sievers aa8734ffcb udevd: use libudev 2008-10-16 17:16:58 +02:00
Kay Sievers 7744e869ec move selinux noops to udev.h 2008-10-03 14:49:29 +02:00
Kay Sievers e598c5738c libudev: get rid of selinux
"Hello world!" linked against libselinux parses /proc/mounts and
whatever else on startup, even when the lib is not needed at all.
Not funny! Get rid of that thing where it's not absolutely needed.
2008-10-02 18:48:40 +02:00
Kay Sievers e345e2670a libudev: rework list handling 2008-09-26 19:44:53 +02:00
Kay Sievers 38f27948cd always include config.h from Makefile 2008-09-19 23:03:49 -07:00
Kay Sievers 93b0f38458 libudev: udev_device - add attribute cache 2008-09-13 21:09:28 +02:00
Kay Sievers 17fcfb5972 use size definitions from libudev 2008-09-10 21:50:21 +02:00
Kay Sievers ecc9ec579f convert to libudev and delete udev_utils_string.c 2008-09-10 18:39:23 +02:00
Kay Sievers 7525097713 extras: use libudev code 2008-09-10 18:24:39 +02:00
Kay Sievers 3eb46ec6dd libudev: do not use any udev source file 2008-09-10 18:00:31 +02:00
Kay Sievers 55e9959b15 update file headers 2008-09-10 02:40:42 +02:00
Kay Sievers 4f4b12c203 libudev: add selinux 2008-09-10 00:46:17 +02:00
Kay Sievers d59f11e140 move udev_ctrl to libudev-private 2008-09-08 17:59:00 +02:00
Kay Sievers 7d563a17f3 use libudev code, unify logging, pass udev context around everywhere 2008-09-06 15:45:31 +02:00
Kay Sievers 8a3c06af21 udevadm: split out control functions 2008-09-03 23:48:44 +02:00
Kay Sievers 32bf83996b udevadm: rename internal functions to udevadm_* 2008-09-03 23:38:32 +02:00
Alan Jenkins 593453115b remove deprecated envp[] in main()
envp is not standardized, and may become invalid when environment variables
are modified.  Since udev never actually uses it, we can simply remove it.

Should anyone miss it in future, they can use the standardized environ
variable - like udev_rules.c does already.
2008-09-02 23:19:36 +02:00
Kay Sievers 44aff4cd6d udev_device_init() remove statically allocated device support 2008-09-01 20:59:09 +02:00