chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
f0ed90b
)
udevadm: settle: wake up more often if --seq-start= or --exit-if-exists= is used
author
Kay Sievers
<kay.sievers@vrfy.org>
Wed, 18 May 2011 16:58:04 +0000
(18:58 +0200)
committer
Kay Sievers
<kay.sievers@vrfy.org>
Wed, 18 May 2011 16:58:04 +0000
(18:58 +0200)
udev/udevadm-settle.c
patch
|
blob
|
history
diff --git
a/udev/udevadm-settle.c
b/udev/udevadm-settle.c
index b717ae60de1a663fe745dd84e229c8ac2f769c25..053a3bba333f048017074e2f2ac515484484f317 100644
(file)
--- a/
udev/udevadm-settle.c
+++ b/
udev/udevadm-settle.c
@@
-183,8
+183,15
@@
int udevadm_settle(struct udev *udev, int argc, char *argv[])
}
if (pfd[0].fd >= 0) {
}
if (pfd[0].fd >= 0) {
- /* wake up once every second, or whenever the queue file gets gets closed */
- if (poll(pfd, 1, 1000) > 0 && pfd[0].revents & POLLIN) {
+ int delay;
+
+ /* wake up after delay, or immediately after the queue is rebuilt */
+
+ if (exists != NULL || start > 0)
+ delay = 100;
+ else
+ delay = 1000;
+ if (poll(pfd, 1, delay) > 0 && pfd[0].revents & POLLIN) {
char buf[sizeof(struct inotify_event) + PATH_MAX];
read(pfd[0].fd, buf, sizeof(buf));
char buf[sizeof(struct inotify_event) + PATH_MAX];
read(pfd[0].fd, buf, sizeof(buf));