mirror of
https://github.com/troglobit/finit.git
synced 2026-11-15 19:13:11 +00:00
Merge pull request #122 from jackuess/fix-inaccurate-sleep
Switch to using nanosleep in favour of sleep
This commit is contained in:
1 file changed
+6
-1
+6
-1
@@ -28,6 +28,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <time.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/sysinfo.h> /* sysinfo() */
|
#include <sys/sysinfo.h> /* sysinfo() */
|
||||||
#include <lite/lite.h> /* strlcat() */
|
#include <lite/lite.h> /* strlcat() */
|
||||||
@@ -105,7 +106,11 @@ int strtobytes(char *arg)
|
|||||||
|
|
||||||
void do_sleep(unsigned int sec)
|
void do_sleep(unsigned int sec)
|
||||||
{
|
{
|
||||||
while ((sec = sleep(sec)))
|
struct timespec requested_sleep = {
|
||||||
|
.tv_sec = sec,
|
||||||
|
.tv_nsec = 0,
|
||||||
|
};
|
||||||
|
while (nanosleep(&requested_sleep, &requested_sleep))
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user