aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2006-01-06 20:59:09 +0000
committerRob Landley <rob@landley.net>2006-01-06 20:59:09 +0000
commit84cb76733f0e5853a6c7c2f64b1c168e61dfd933 (patch)
treee9315133e3d21ea032e5e676ddb3f39e18be5605 /libbb
parent251161f75c0895a1138f87bd80d9bcc38e567444 (diff)
downloadbusybox-84cb76733f0e5853a6c7c2f64b1c168e61dfd933.tar.gz
patch from tito: consolidate delay functions as bb_do_delay()
Diffstat (limited to 'libbb')
-rw-r--r--libbb/Makefile.in2
-rw-r--r--libbb/bb_do_delay.c31
2 files changed, 32 insertions, 1 deletions
diff --git a/libbb/Makefile.in b/libbb/Makefile.in
index 35541231b..91698a919 100644
--- a/libbb/Makefile.in
+++ b/libbb/Makefile.in
@@ -34,7 +34,7 @@ LIBBB_SRC-y:= \
getopt_ulflags.c default_error_retval.c wfopen_input.c speed_table.c \
perror_nomsg_and_die.c perror_nomsg.c skip_whitespace.c bb_askpass.c \
warn_ignoring_args.c concat_subpath_file.c vfork_daemon_rexec.c \
- bb_echo.c
+ bb_echo.c bb_do_delay.c
LIBBB_SRC-$(CONFIG_FEATURE_SHADOWPASSWDS)+= pwd2spwd.c
diff --git a/libbb/bb_do_delay.c b/libbb/bb_do_delay.c
new file mode 100644
index 000000000..ddcff0765
--- /dev/null
+++ b/libbb/bb_do_delay.c
@@ -0,0 +1,31 @@
+/* vi: set sw=4 ts=4: */
+/*
+ * Busybox utility routines.
+ *
+ * Copyright (C) 2005 by Tito Ragusa <tito-wolit@tiscali.it>
+ *
+ * Licensed under the GPL v2, see the file LICENSE in this tarball.
+ */
+
+#include <time.h>
+#include <unistd.h>
+
+void bb_do_delay(int seconds)
+{
+ time_t start, now;
+
+ time(&start);
+ now = start;
+ while (difftime(now, start) < seconds) {
+ sleep(seconds);
+ time(&now);
+ }
+}
+
+/*
+Local Variables:
+c-file-style: "linux"
+c-basic-offset: 4
+tab-width: 4
+End:
+*/