X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=test-udev.c;h=4ac2d5a8891cedb53386de53358e42bd611c804f;hp=e341b74f2f5fbd6a698f079c55484504f0124a07;hb=4e548559bacf7a29fcdd2e5eb8a3ad8bfd5441fc;hpb=c70560feef0eb61a150cd2f956f0beead4313ffe diff --git a/test-udev.c b/test-udev.c index e341b74f2..4ac2d5a88 100644 --- a/test-udev.c +++ b/test-udev.c @@ -105,7 +105,7 @@ int main(int argc, char *argv[], char *envp[]) sigaction(SIGTERM, &act, NULL); /* trigger timeout to prevent hanging processes */ - alarm(UDEV_ALARM_TIMEOUT); + alarm(UDEV_EVENT_TIMEOUT); action = getenv("ACTION"); devpath = getenv("DEVPATH"); @@ -154,6 +154,10 @@ int main(int argc, char *argv[], char *envp[]) retval = udev_device_event(&rules, udev); + /* rules may change/disable the timeout */ + if (udev->event_timeout >= 0) + alarm(udev->event_timeout); + if (retval == 0 && !udev->ignore_device && udev_run) udev_rules_run(udev);