chiark / gitweb /
add OPTIONS+="event_timeout=<seconds>"
[elogind.git] / test-udev.c
index e341b74f2f5fbd6a698f079c55484504f0124a07..4ac2d5a8891cedb53386de53358e42bd611c804f 100644 (file)
@@ -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);