[Toybox] [PATCH] toys/sleep: Fix nanosleep() usage.
Georgi Chorbadzhiyski
gf at unixsol.org
Thu Mar 8 23:20:23 PST 2012
---
toys/sleep.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/toys/sleep.c b/toys/sleep.c
index 471011b..ed8523f 100644
--- a/toys/sleep.c
+++ b/toys/sleep.c
@@ -49,7 +49,13 @@ void sleep_main(void)
l = (unsigned long)d;
d -= l;
if (l) toys.exitval = sleep(l);
- if (!toys.exitval)
- toys.exitval = nanosleep((unsigned long)(d * 1000000000));
+ if (!toys.exitval) {
+ unsigned long usec = d * 1000000;
+ struct timespec tv = {
+ .tv_sec = usec / 1000000,
+ .tv_nsec = (usec % 1000000) * 1000
+ };
+ toys.exitval = nanosleep(&tv, NULL);
+ }
}
}
--
1.7.5.1
More information about the Toybox
mailing list