1 |
commit: 408660f945441f0978e6415de131530c7d384070 |
2 |
Author: William Hubbs <williamh <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue Jul 31 16:52:11 2012 +0000 |
4 |
Commit: William Hubbs <williamh <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Jul 31 17:35:24 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/udev-gentoo-scripts.git;a=commit;h=408660f9 |
7 |
|
8 |
Allow an optional wait for uevent processing |
9 |
|
10 |
Systemd allows the wait for uevents during boot to be optional, so we |
11 |
should do the same. |
12 |
|
13 |
--- |
14 |
conf.d/udev | 8 ++++++++ |
15 |
init.d/udev | 7 ++++++- |
16 |
2 files changed, 14 insertions(+), 1 deletions(-) |
17 |
|
18 |
diff --git a/conf.d/udev b/conf.d/udev |
19 |
index 1dfdc79..921d86b 100644 |
20 |
--- a/conf.d/udev |
21 |
+++ b/conf.d/udev |
22 |
@@ -13,6 +13,14 @@ |
23 |
|
24 |
# Expert options: |
25 |
|
26 |
+# Should we wait for all uevents to be processed at boot? |
27 |
+# Most of the time, this should not need to be changed. |
28 |
+#udev_settle_wait="NO" |
29 |
+ |
30 |
+# Timeout in seconds to wait for processing of uevents at boot. |
31 |
+# There should be no need to change this. |
32 |
+#udev_settle_timeout="60" |
33 |
+ |
34 |
# Add extra command line options to udevd, use with care |
35 |
# udevd --help for possible values |
36 |
#udev_opts="" |
37 |
|
38 |
diff --git a/init.d/udev b/init.d/udev |
39 |
index 20b52d9..4985d5d 100644 |
40 |
--- a/init.d/udev |
41 |
+++ b/init.d/udev |
42 |
@@ -10,6 +10,7 @@ rc_coldplug=${rc_coldplug:-${RC_COLDPLUG:-YES}} |
43 |
udev_debug="${udev_debug:-no}" |
44 |
udev_monitor="${udev_monitor:-no}" |
45 |
udev_monitor_keep_running="${udev_monitor_keep_running:-no}" |
46 |
+udev_settle_wait="${udev_settle_wait:-NO}" |
47 |
udev_settle_timeout="${udev_settle_timeout:-60}" |
48 |
kv_min="${kv_min:-2.6.34}" |
49 |
|
50 |
@@ -137,7 +138,11 @@ populate_dev() |
51 |
udevadm trigger --type=subsystems --action=add |
52 |
udevadm trigger --type=devices --action=add |
53 |
eend $? |
54 |
- |
55 |
+ if yesno "${udev_settle_wait}"; then |
56 |
+ ebegin "Waiting for uevents to be processed" |
57 |
+ udevadm settle --timeout=${udev_settle_timeout} |
58 |
+ eend $? |
59 |
+ fi |
60 |
udevadm control --property=do_not_run_plug_service= |
61 |
return 0 |
62 |
} |