Added BSD implementations of millisleep.
This commit is contained in:
parent
2d14e21382
commit
426035c543
|
@ -73,6 +73,10 @@ extern long sys_milli();
|
||||||
#define millitimer sys_milli
|
#define millitimer sys_milli
|
||||||
#endif /* AMOEBA */
|
#endif /* AMOEBA */
|
||||||
|
|
||||||
|
#ifdef BSD_TIME
|
||||||
|
#define DO_MILLI
|
||||||
|
#endif /* BSD_TIME */
|
||||||
|
|
||||||
#ifdef DO_MILLI
|
#ifdef DO_MILLI
|
||||||
|
|
||||||
static object *
|
static object *
|
||||||
|
@ -169,3 +173,33 @@ millitimer()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* THINK_C */
|
#endif /* THINK_C */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef BSD_TIME
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
|
static long
|
||||||
|
millitimer()
|
||||||
|
{
|
||||||
|
struct timeval t;
|
||||||
|
struct timezone tz;
|
||||||
|
if (gettimeofday(&t, &tz) != 0)
|
||||||
|
return -1;
|
||||||
|
return t.tv_sec*1000 + t.tv_usec/1000;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
millisleep(msecs)
|
||||||
|
long msecs;
|
||||||
|
{
|
||||||
|
struct timeval t;
|
||||||
|
t.tv_sec = msecs/1000;
|
||||||
|
t.tv_usec = (msecs%1000)*1000;
|
||||||
|
(void) select(0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &t);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* BSD_TIME */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue