diff options
author | Bill Fenner <fenner@FreeBSD.org> | 2002-07-28 02:24:33 +0000 |
---|---|---|
committer | Bill Fenner <fenner@FreeBSD.org> | 2002-07-28 02:24:33 +0000 |
commit | 5f3a73ba3ad8f71a2584b90f4519eb0c3ffc69f6 (patch) | |
tree | e0dc6ae8a7b50395b54351558c015c23a0a84ef3 /contrib/traceroute/usleep.c | |
parent | 38a623ef9682e4adffa5eae560b9fda840a659a8 (diff) |
Notes
Diffstat (limited to 'contrib/traceroute/usleep.c')
-rw-r--r-- | contrib/traceroute/usleep.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/contrib/traceroute/usleep.c b/contrib/traceroute/usleep.c new file mode 100644 index 000000000000..6c0716da3c75 --- /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 +} |