# HG changeset patch # User Georgi Chorbadzhiyski # Date 1331413053 21600 # Node ID 09135436042b5511197259833052db07cb146ae0 # Parent 9ab5ee341d47e23936541e2e5b9d01abc6e08584 Fix nanosleep() usage. diff -r 9ab5ee341d47 -r 09135436042b toys/sleep.c --- a/toys/sleep.c Fri Mar 09 20:33:16 2012 -0600 +++ b/toys/sleep.c Sat Mar 10 14:57:33 2012 -0600 @@ -49,7 +49,13 @@ 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); + } } }