chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
persistent device naming: update tape rules
[elogind.git]
/
udevd.c
diff --git
a/udevd.c
b/udevd.c
index 66a410ec778b24100ca83b81893a550cb9041106..c895c1dc6a4a4384fb1d4280d0eb8772e1a0db50 100644
(file)
--- a/
udevd.c
+++ b/
udevd.c
@@
-115,7
+115,7
@@
static int udev_event_process(struct udevd_uevent_msg *msg)
sigaction(SIGHUP, &act, NULL);
/* trigger timeout to prevent hanging processes */
sigaction(SIGHUP, &act, NULL);
/* trigger timeout to prevent hanging processes */
- alarm(UDEV_
ALARM
_TIMEOUT);
+ alarm(UDEV_
EVENT
_TIMEOUT);
/* reconstruct event environment from message */
for (i = 0; msg->envp[i]; i++)
/* reconstruct event environment from message */
for (i = 0; msg->envp[i]; i++)
@@
-131,6
+131,10
@@
static int udev_event_process(struct udevd_uevent_msg *msg)
retval = udev_device_event(&rules, udev);
retval = udev_device_event(&rules, udev);
+ /* rules may change/disable the timeout */
+ if (udev->event_timeout >= 0)
+ alarm(udev->event_timeout);
+
/* run programs collected by RUN-key*/
if (retval == 0 && !udev->ignore_device && udev_run)
retval = udev_rules_run(udev);
/* run programs collected by RUN-key*/
if (retval == 0 && !udev->ignore_device && udev_run)
retval = udev_rules_run(udev);