From: Kay Sievers Date: Mon, 8 Dec 2008 15:48:54 +0000 (+0100) Subject: udevadm: settle - allow --timeout=0 and --quiet X-Git-Tag: 174~1263 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=b76ad2e537e8672ace442eb27439521c9b107b09;ds=sidebyside udevadm: settle - allow --timeout=0 and --quiet --- diff --git a/udev/udevadm-settle.c b/udev/udevadm-settle.c index a274e089d..5bb3d22a4 100644 --- a/udev/udevadm-settle.c +++ b/udev/udevadm-settle.c @@ -37,10 +37,12 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[]) { static const struct option options[] = { { "timeout", required_argument, NULL, 't' }, + { "quiet", no_argument, NULL, 'q' }, { "help", no_argument, NULL, 'h' }, {} }; int timeout = DEFAULT_TIMEOUT; + int quiet = 0; struct udev_queue *udev_queue = NULL; int loop; int rc = 0; @@ -51,21 +53,24 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[]) int option; int seconds; - option = getopt_long(argc, argv, "t:h", options, NULL); + option = getopt_long(argc, argv, "t:qh", options, NULL); if (option == -1) break; switch (option) { case 't': seconds = atoi(optarg); - if (seconds > 0) + if (seconds >= 0) timeout = seconds; else fprintf(stderr, "invalid timeout value\n"); dbg(udev, "timeout=%i\n", timeout); break; + case 'q': + quiet = 1; + break; case 'h': - printf("Usage: udevadm settle [--help] [--timeout=]\n\n"); + printf("Usage: udevadm settle [--help] [--timeout=] [--quiet]\n\n"); goto exit; } } @@ -82,12 +87,14 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[]) if (loop <= 0) { struct udev_list_entry *list_entry; - info(udev, "timeout waiting for udev queue\n"); - printf("\ndevadm settle timeout of %i seconds reached, the event queue contains:\n", timeout); - udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) - printf(" '%s' [%s]\n", - udev_list_entry_get_name(list_entry), - udev_list_entry_get_value(list_entry)); + if (!quiet) { + info(udev, "timeout waiting for udev queue\n"); + printf("\ndevadm settle timeout of %i seconds reached, the event queue contains:\n", timeout); + udev_list_entry_foreach(list_entry, udev_queue_get_queued_list_entry(udev_queue)) + printf(" %s (%s)\n", + udev_list_entry_get_name(list_entry), + udev_list_entry_get_value(list_entry)); + } rc = 1; } exit: diff --git a/udev/udevadm.xml b/udev/udevadm.xml index b7687d5dd..ebc4aa150 100644 --- a/udev/udevadm.xml +++ b/udev/udevadm.xml @@ -220,7 +220,14 @@ Maximum number of seconds to wait for the event queue to become empty. - The default value is 180 seconds. + The default value is 180 seconds. A value of 0 will check if the queue is empty + and always return immediately. + + + + + + Do not print any output, like the remaining queue entries when reachin the timeout.