goto out;
}
- assert_se(event = udev_event_new(dev));
+ assert_se(event = udev_event_new(dev, 0));
assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, SIGHUP, SIGCHLD, -1) >= 0);
size_t result_len;
} Spawn;
-struct udev_event *udev_event_new(struct udev_device *dev) {
+struct udev_event *udev_event_new(struct udev_device *dev, int exec_delay) {
struct udev_event *event;
assert(dev);
*event = (struct udev_event) {
.dev = dev,
.birth_usec = now(CLOCK_MONOTONIC),
+ .exec_delay = exec_delay,
};
return event;
int udev_rules_apply_static_dev_perms(struct udev_rules *rules);
/* udev-event.c */
-struct udev_event *udev_event_new(struct udev_device *dev);
+struct udev_event *udev_event_new(struct udev_device *dev, int exec_delay);
struct udev_event *udev_event_free(struct udev_event *event);
ssize_t udev_event_apply_format(struct udev_event *event,
const char *src, char *dest, size_t size,
/* don't read info from the db */
udev_device_set_info_loaded(dev);
- event = udev_event_new(dev);
+ event = udev_event_new(dev, 0);
sigfillset(&mask);
sigprocmask(SIG_SETMASK, &mask, &sigmask_orig);
assert(dev);
log_debug("seq %llu running", udev_device_get_seqnum(dev));
- udev_event = udev_event_new(dev);
- if (udev_event == NULL) {
+ udev_event = udev_event_new(dev, arg_exec_delay);
+ if (!udev_event) {
r = -ENOMEM;
goto out;
}
- if (arg_exec_delay > 0)
- udev_event->exec_delay = arg_exec_delay;
-
/*
* Take a shared lock on the device node; this establishes
* a concept of device "ownership" to serialize device