chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Docs: README: Clarify configuration of existing devices
[elogind.git]
/
udev
/
udevadm-settle.c
diff --git
a/udev/udevadm-settle.c
b/udev/udevadm-settle.c
index 5030f18602c9e8a8bd3163b80f6b1f5379987157..1423cec6dc72c44108fb328f8d3878ae81797b20 100644
(file)
--- a/
udev/udevadm-settle.c
+++ b/
udev/udevadm-settle.c
@@
-66,6
+66,7
@@
int udevadm_settle(struct udev *udev, int argc, char *argv[])
const char *exists = NULL;
int timeout = DEFAULT_TIMEOUT;
struct sigaction act;
const char *exists = NULL;
int timeout = DEFAULT_TIMEOUT;
struct sigaction act;
+ sigset_t mask;
struct udev_queue *udev_queue = NULL;
int rc = 1;
struct udev_queue *udev_queue = NULL;
int rc = 1;
@@
-78,8
+79,12
@@
int udevadm_settle(struct udev *udev, int argc, char *argv[])
act.sa_flags = 0;
sigaction(SIGALRM, &act, NULL);
sigaction(SIGUSR1, &act, NULL);
act.sa_flags = 0;
sigaction(SIGALRM, &act, NULL);
sigaction(SIGUSR1, &act, NULL);
+ sigemptyset(&mask);
+ sigaddset(&mask, SIGUSR1);
+ sigaddset(&mask, SIGALRM);
+ sigprocmask(SIG_UNBLOCK, &mask, NULL);
-
while (1
) {
+
for (;;
) {
int option;
int seconds;
int option;
int seconds;
@@
-163,7
+168,7
@@
int udevadm_settle(struct udev *udev, int argc, char *argv[])
uctrl = udev_ctrl_new_from_socket(udev, UDEV_CTRL_SOCK_PATH);
if (uctrl != NULL) {
uctrl = udev_ctrl_new_from_socket(udev, UDEV_CTRL_SOCK_PATH);
if (uctrl != NULL) {
- sigset_t
mask,
oldmask;
+ sigset_t oldmask;
sigemptyset(&mask);
sigaddset(&mask, SIGUSR1);
sigemptyset(&mask);
sigaddset(&mask, SIGUSR1);
@@
-176,7
+181,7
@@
int udevadm_settle(struct udev *udev, int argc, char *argv[])
}
}
}
}
-
while (1
) {
+
for (;;
) {
struct stat statbuf;
const struct timespec duration = { 0 , 1000 * 1000 * 1000 / LOOP_PER_SECOND };
struct stat statbuf;
const struct timespec duration = { 0 , 1000 * 1000 * 1000 / LOOP_PER_SECOND };