summaryrefslogtreecommitdiffstats
path: root/contrib/traceroute/usleep.c
diff options
context:
space:
mode:
authorfenner <fenner@FreeBSD.org>2002-07-28 02:24:33 +0000
committerfenner <fenner@FreeBSD.org>2002-07-28 02:24:33 +0000
commit30e877e99985cd3ec4f811b7b4cbf25231eb5172 (patch)
treee0dc6ae8a7b50395b54351558c015c23a0a84ef3 /contrib/traceroute/usleep.c
parenta140d208b5ecc0e726bc4300cd21ab1f869df7c7 (diff)
downloadFreeBSD-src-30e877e99985cd3ec4f811b7b4cbf25231eb5172.zip
FreeBSD-src-30e877e99985cd3ec4f811b7b4cbf25231eb5172.tar.gz
Virgin import of LBL traceroute v1.4a12
Diffstat (limited to 'contrib/traceroute/usleep.c')
-rw-r--r--contrib/traceroute/usleep.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/contrib/traceroute/usleep.c b/contrib/traceroute/usleep.c
new file mode 100644
index 0000000..6c0716d
--- /dev/null
+++ b/contrib/traceroute/usleep.c
@@ -0,0 +1,32 @@
+#ifndef lint
+static const char rcsid[] =
+ "@(#) $Id: usleep.c,v 1.1 2000/09/16 05:31:06 leres Exp $ (LBL)";
+#endif
+
+#include <sys/types.h>
+#include <sys/time.h>
+
+#include <stdio.h>
+
+#include "gnuc.h"
+#ifdef HAVE_OS_PROTO_H
+#include "os-proto.h"
+#endif
+
+int
+usleep(register u_int useconds)
+{
+#ifdef HAVE_NANOSLEEP
+ struct timespec ts;
+
+ ts.tv_sec = useconds / 1000000;
+ ts.tv_nsec = (useconds % 1000000) * 1000;
+ return (nanosleep(&ts, NULL));
+#else
+ struct timeval tv;
+
+ tv.tv_sec = useconds / 1000000;
+ tv.tv_usec = useconds % 1000000;
+ return (select(0, NULL, NULL, NULL, &tv));
+#endif
+}
OpenPOWER on IntegriCloud