mirror of
https://github.com/systemd/systemd
synced 2024-10-04 23:31:09 +00:00
udev-event: make udev_event_new() take exec_delay
This commit is contained in:
parent
13d8a53aae
commit
0f86dc900e
|
@ -82,7 +82,7 @@ int main(int argc, char *argv[]) {
|
|||
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);
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ typedef struct Spawn {
|
|||
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);
|
||||
|
@ -54,6 +54,7 @@ struct udev_event *udev_event_new(struct udev_device *dev) {
|
|||
*event = (struct udev_event) {
|
||||
.dev = dev,
|
||||
.birth_usec = now(CLOCK_MONOTONIC),
|
||||
.exec_delay = exec_delay,
|
||||
};
|
||||
|
||||
return event;
|
||||
|
|
|
@ -60,7 +60,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *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,
|
||||
|
|
|
@ -128,7 +128,7 @@ int test_main(int argc, char *argv[], void *userdata) {
|
|||
/* 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);
|
||||
|
|
|
@ -409,15 +409,12 @@ static void worker_spawn(Manager *manager, struct event *event) {
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue