mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-29 21:55:25 +03:00
udevadm: settle - allow --timeout=0 and --quiet
This commit is contained in:
parent
5d89ef7bf9
commit
b76ad2e537
@ -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=<seconds>]\n\n");
|
||||
printf("Usage: udevadm settle [--help] [--timeout=<seconds>] [--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:
|
||||
|
@ -220,7 +220,14 @@
|
||||
<term><option>--timeout=<replaceable>seconds</replaceable></option></term>
|
||||
<listitem>
|
||||
<para>Maximum number of seconds to wait for the event queue to become empty.
|
||||
The default value is 180 seconds.</para>
|
||||
The default value is 180 seconds. A value of 0 will check if the queue is empty
|
||||
and always return immediately.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><option>--quiet</option></term>
|
||||
<listitem>
|
||||
<para>Do not print any output, like the remaining queue entries when reachin the timeout.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
|
Loading…
Reference in New Issue
Block a user