From 06a4e9c14803ec175f2df4eddecf227619906505 Mon Sep 17 00:00:00 2001 From: Timo Kokkonen Date: Tue, 6 Dec 2011 18:27:42 +0200 Subject: [PATCH] Read delay parameter from the command line Signed-off-by: Timo Kokkonen --- buddywatch.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/buddywatch.c b/buddywatch.c index 2a207d3..df5620d 100644 --- a/buddywatch.c +++ b/buddywatch.c @@ -2,6 +2,7 @@ #include #include #include +#include #define MAX_ORDER 11 @@ -9,8 +10,18 @@ int main(int argc, char *argv[]) { long long int buddy[MAX_ORDER], bud[MAX_ORDER], tot; long int i; + double delay = 1; FILE *file; char str[1024], *s; + int ret = 0; + struct timespec sleep; + + if (argc > 1) + ret = sscanf(argv[1], "%lf", &delay); + + sleep.tv_sec = (time_t)delay; + sleep.tv_nsec = ((long)(delay * 1000 * 1000 * 1000) % + (1000l * 1000l * 1000l)); while (1) { @@ -57,7 +68,8 @@ int main(int argc, char *argv[]) tot += buddy[i] * (1 << (i + 2)); } printf("% 5lldM\n", tot >> 10); - sleep(1); + + nanosleep(&sleep, NULL); fclose(file); } -- 2.45.0