summaryrefslogtreecommitdiffstats
path: root/contrib/traceroute/usleep.c
blob: 6c0716da3c7502c4a7a3e231811bb35c7189c94c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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