udevadm: drop udev_queue

This commit is contained in:
Yu Watanabe 2020-12-14 18:25:27 +09:00
parent bee33d0527
commit b653abbb1a
1 changed files with 10 additions and 9 deletions

View File

@ -17,12 +17,14 @@
#include "sd-messages.h"
#include "bus-util.h"
#include "fd-util.h"
#include "io-util.h"
#include "libudev-util.h"
#include "string-util.h"
#include "strv.h"
#include "time-util.h"
#include "udev-ctrl.h"
#include "udev-util.h"
#include "udevadm.h"
#include "unit-def.h"
#include "util.h"
@ -158,9 +160,9 @@ static int emit_deprecation_warning(void) {
}
int settle_main(int argc, char *argv[], void *userdata) {
_cleanup_(udev_queue_unrefp) struct udev_queue *queue = NULL;
_cleanup_close_ int fd = -1;
usec_t deadline;
int r, fd;
int r;
r = parse_argv(argc, argv);
if (r <= 0)
@ -190,11 +192,7 @@ int settle_main(int argc, char *argv[], void *userdata) {
}
}
queue = udev_queue_new(NULL);
if (!queue)
return log_error_errno(errno, "Failed to get udev queue: %m");
fd = udev_queue_get_fd(queue);
fd = udev_queue_init();
if (fd < 0) {
log_debug_errno(fd, "Queue is empty, nothing to watch: %m");
return 0;
@ -207,7 +205,10 @@ int settle_main(int argc, char *argv[], void *userdata) {
return 0;
/* exit if queue is empty */
if (udev_queue_get_queue_is_empty(queue))
r = udev_queue_is_empty();
if (r < 0)
return log_error_errno(r, "Failed to check queue is empty: %m");
if (r > 0)
return 0;
if (now(CLOCK_MONOTONIC) >= deadline)
@ -218,7 +219,7 @@ int settle_main(int argc, char *argv[], void *userdata) {
if (r < 0)
return r;
if (r & POLLIN) {
r = udev_queue_flush(queue);
r = flush_fd(fd);
if (r < 0)
return log_error_errno(r, "Failed to flush queue: %m");
}