17aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley/* sleep.c - Wait for a number of seconds. 2fece5cb6d796119eccb1ae0074e5b3aaccbb74eeRob Landley * 32896480c4918f2accccb8301bec457a7bff7377eRob Landley * Copyright 2007 Rob Landley <rob@landley.net> 4f1e82dfa2131c4c8b8bfc83209c9f1d26cc7f35cGeorgi Chorbadzhiyski * Copyright 2012 Georgi Chorbadzhiyski <georgi@unixsol.org> 52896480c4918f2accccb8301bec457a7bff7377eRob Landley * 6f91b7c89bc852868692b9518185421ebb52d67b3Rob Landley * See http://opengroup.org/onlinepubs/9699919799/utilities/sleep.html 72896480c4918f2accccb8301bec457a7bff7377eRob Landley 855928b1e0a08d84a5cbc50020f0a8c1024f5b6ceRob LandleyUSE_SLEEP(NEWTOY(sleep, "<1", TOYFLAG_BIN)) 955928b1e0a08d84a5cbc50020f0a8c1024f5b6ceRob Landley 102896480c4918f2accccb8301bec457a7bff7377eRob Landleyconfig SLEEP 117aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley bool "sleep" 127aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley default y 137aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley help 1472756670274dac9562b869761c50c59ed57b7295Rob Landley usage: sleep LENGTH 1572756670274dac9562b869761c50c59ed57b7295Rob Landley 1672756670274dac9562b869761c50c59ed57b7295Rob Landley Wait before exiting. An optional suffix can be "m" (minutes), "h" (hours), 1772756670274dac9562b869761c50c59ed57b7295Rob Landley "d" (days), or "s" (seconds, the default). 182896480c4918f2accccb8301bec457a7bff7377eRob Landley 192b7b1ad04bbbbadd61067f46c6f24264a318d666Rob Landley 202b7b1ad04bbbbadd61067f46c6f24264a318d666Rob Landleyconfig SLEEP_FLOAT 217aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley bool 227aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley default y 237aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley depends on SLEEP && TOYBOX_FLOAT 247aa651a6a4496d848f86de9b1e6b3a003256a01fRob Landley help 2572756670274dac9562b869761c50c59ed57b7295Rob Landley Length can be a decimal fraction. 262896480c4918f2accccb8301bec457a7bff7377eRob Landley*/ 27f2f98fa34e9c00c2b5366fb6a9a912cf94f9a157Rob Landley 28f2f98fa34e9c00c2b5366fb6a9a912cf94f9a157Rob Landley#include "toys.h" 29f2f98fa34e9c00c2b5366fb6a9a912cf94f9a157Rob Landley 30efda21ca931766eed6cfc49d1b2122c53827d9fcRob Landleyvoid sleep_main(void) 31f2f98fa34e9c00c2b5366fb6a9a912cf94f9a157Rob Landley{ 3272756670274dac9562b869761c50c59ed57b7295Rob Landley struct timespec tv; 332b7b1ad04bbbbadd61067f46c6f24264a318d666Rob Landley 3472756670274dac9562b869761c50c59ed57b7295Rob Landley tv.tv_sec = xparsetime(*toys.optargs, 1000000000, &tv.tv_nsec); 3572756670274dac9562b869761c50c59ed57b7295Rob Landley toys.exitval = !!nanosleep(&tv, NULL); 36f2f98fa34e9c00c2b5366fb6a9a912cf94f9a157Rob Landley} 37