X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev%2Fudevadm-settle.c;h=5030f18602c9e8a8bd3163b80f6b1f5379987157;hb=6068553195f43a2fd7987c48178de23b63a09f15;hp=0b3f2e21246d7b3a5e6edd5a810b571fec716792;hpb=97f48a8c67520bf1a58f1516ea3f5953ef399a96;p=elogind.git diff --git a/udev/udevadm-settle.c b/udev/udevadm-settle.c index 0b3f2e212..5030f1860 100644 --- a/udev/udevadm-settle.c +++ b/udev/udevadm-settle.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2008 Kay Sievers + * Copyright (C) 2006-2009 Kay Sievers * Copyright (C) 2009 Canonical Ltd. * Copyright (C) 2009 Scott James Remnant * @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -139,14 +140,12 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[]) if (start > end) { err(udev, "seq-start larger than seq-end, ignoring\n"); - fprintf(stderr, "seq-start larger than seq-end, ignoring\n"); start = 0; end = 0; } if (start > kernel_seq || end > kernel_seq) { err(udev, "seq-start or seq-end larger than current kernel value, ignoring\n"); - fprintf(stderr, "seq-start or seq-end larger than current kernel value, ignoring\n"); start = 0; end = 0; } @@ -154,7 +153,6 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[]) } else { if (end > 0) { err(udev, "seq-end needs seq-start parameter, ignoring\n"); - fprintf(stderr, "seq-end needs seq-start parameter, ignoring\n"); end = 0; } } @@ -180,6 +178,7 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[]) while (1) { struct stat statbuf; + const struct timespec duration = { 0 , 1000 * 1000 * 1000 / LOOP_PER_SECOND }; if (exists != NULL && stat(exists, &statbuf) == 0) { rc = 0; @@ -203,7 +202,7 @@ int udevadm_settle(struct udev *udev, int argc, char *argv[]) if (is_timeout) break; - usleep(1000 * 1000 / LOOP_PER_SECOND); + nanosleep(&duration, NULL); } /* if we reached the timeout, print the list of remaining events */