diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2012-04-03 14:54:55 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2012-04-03 14:54:55 +0000 |
commit | b618c3d0693aec564c6746238fd05d94e31d3b76 (patch) | |
tree | 4a4834f3097bba25dba1adeba4324080c1b4bf7b /testing/udev | |
parent | 8cb5196780766f47b595410eed8ddbee2e8add08 (diff) |
Tue Apr 3 14:54:45 UTC 2012
Diffstat (limited to 'testing/udev')
-rw-r--r-- | testing/udev/0001-reinstate-TIMEOUT-handling.patch | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/testing/udev/0001-reinstate-TIMEOUT-handling.patch b/testing/udev/0001-reinstate-TIMEOUT-handling.patch deleted file mode 100644 index 9b251b283..000000000 --- a/testing/udev/0001-reinstate-TIMEOUT-handling.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 86617453cd78bf88d347f0e75a5be8b5ebac6c2e Mon Sep 17 00:00:00 2001 -From: Tom Gundersen <teg@jklm.no> -Date: Thu, 15 Mar 2012 02:12:43 +0100 -Subject: [PATCH] reinstate TIMEOUT= handling - -This reverts 43d5c5f03645c4b842659f9b5bd0ae465e885e92 and -57c6f8ae5f52a6e8ffc66a54966346f733dded39. - -Signed-off-by: Tom Gundersen <teg@jklm.no> ---- - src/libudev-device.c | 19 +++++++++++++++++++ - src/libudev-private.h | 1 + - src/udevd.c | 13 ++++++++++--- - 3 files changed, 30 insertions(+), 3 deletions(-) - -diff --git a/src/libudev-device.c b/src/libudev-device.c -index 10f28b8..639c367 100644 ---- a/src/libudev-device.c -+++ b/src/libudev-device.c -@@ -68,6 +68,7 @@ struct udev_device { - struct udev_list tags_list; - unsigned long long int seqnum; - unsigned long long int usec_initialized; -+ int timeout; - int devlink_priority; - int refcount; - dev_t devnum; -@@ -160,6 +161,21 @@ static int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum) - return 0; - } - -+int udev_device_get_timeout(struct udev_device *udev_device) -+{ -+ return udev_device->timeout; -+} -+ -+static int udev_device_set_timeout(struct udev_device *udev_device, int timeout) -+{ -+ char num[32]; -+ -+ udev_device->timeout = timeout; -+ snprintf(num, sizeof(num), "%u", timeout); -+ udev_device_add_property(udev_device, "TIMEOUT", num); -+ return 0; -+} -+ - const char *udev_device_get_devpath_old(struct udev_device *udev_device) - { - return udev_device->devpath_old; -@@ -414,6 +430,8 @@ void udev_device_add_property_from_string_parse(struct udev_device *udev_device, - udev_device_set_devpath_old(udev_device, &property[12]); - } else if (strncmp(property, "SEQNUM=", 7) == 0) { - udev_device_set_seqnum(udev_device, strtoull(&property[7], NULL, 10)); -+ } else if (strncmp(property, "TIMEOUT=", 8) == 0) { -+ udev_device_set_timeout(udev_device, strtoull(&property[8], NULL, 10)); - } else if (strncmp(property, "IFINDEX=", 8) == 0) { - udev_device_set_ifindex(udev_device, strtoull(&property[8], NULL, 10)); - } else if (strncmp(property, "DEVMODE=", 8) == 0) { -@@ -599,6 +617,7 @@ struct udev_device *udev_device_new(struct udev *udev) - udev_list_init(udev, &udev_device->sysattr_value_list, true); - udev_list_init(udev, &udev_device->sysattr_list, false); - udev_list_init(udev, &udev_device->tags_list, true); -+ udev_device->timeout = -1; - udev_device->watch_handle = -1; - /* copy global properties */ - udev_list_entry_foreach(list_entry, udev_get_properties_list_entry(udev)) -diff --git a/src/libudev-private.h b/src/libudev-private.h -index 5f5c64a..ec63b67 100644 ---- a/src/libudev-private.h -+++ b/src/libudev-private.h -@@ -87,6 +87,7 @@ const char *udev_device_get_id_filename(struct udev_device *udev_device); - void udev_device_set_is_initialized(struct udev_device *udev_device); - int udev_device_add_tag(struct udev_device *udev_device, const char *tag); - void udev_device_cleanup_tags_list(struct udev_device *udev_device); -+int udev_device_get_timeout(struct udev_device *udev_device); - unsigned long long udev_device_get_usec_initialized(struct udev_device *udev_device); - void udev_device_set_usec_initialized(struct udev_device *udev_device, unsigned long long usec_initialized); - int udev_device_get_devlink_priority(struct udev_device *udev_device); -diff --git a/src/udevd.c b/src/udevd.c -index 1702217..88e9272 100644 ---- a/src/udevd.c -+++ b/src/udevd.c -@@ -401,7 +401,7 @@ out: - } - } - --static void event_run(struct event *event) -+static void event_run(struct event *event, bool force) - { - struct udev_list_node *loop; - -@@ -427,7 +427,7 @@ static void event_run(struct event *event) - return; - } - -- if (children >= children_max) { -+ if (!force && children >= children_max) { - if (children_max > 1) - info(event->udev, "maximum number (%i) of children reached\n", children); - return; -@@ -461,6 +461,13 @@ static int event_queue_insert(struct udev_device *dev) - - event->state = EVENT_QUEUED; - udev_list_node_append(&event->node, &event_list); -+ -+ /* run all events with a timeout set immediately */ -+ if (udev_device_get_timeout(dev) > 0) { -+ event_run(event, true); -+ return 0; -+ } -+ - return 0; - } - -@@ -577,7 +584,7 @@ static void event_queue_start(struct udev *udev) - continue; - } - -- event_run(event); -+ event_run(event, false); - } - } - --- -1.7.9.4 - |