Blame jemalloc/test/src/mq.c
|
Packit Service |
724aca |
#include "test/jemalloc_test.h"
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
/*
|
|
Packit Service |
724aca |
* Sleep for approximately ns nanoseconds. No lower *nor* upper bound on sleep
|
|
Packit Service |
724aca |
* time is guaranteed.
|
|
Packit Service |
724aca |
*/
|
|
Packit Service |
724aca |
void
|
|
Packit Service |
724aca |
mq_nanosleep(unsigned ns) {
|
|
Packit Service |
724aca |
assert(ns <= 1000*1000*1000);
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
#ifdef _WIN32
|
|
Packit Service |
724aca |
Sleep(ns / 1000);
|
|
Packit Service |
724aca |
#else
|
|
Packit Service |
724aca |
{
|
|
Packit Service |
724aca |
struct timespec timeout;
|
|
Packit Service |
724aca |
|
|
Packit Service |
724aca |
if (ns < 1000*1000*1000) {
|
|
Packit Service |
724aca |
timeout.tv_sec = 0;
|
|
Packit Service |
724aca |
timeout.tv_nsec = ns;
|
|
Packit Service |
724aca |
} else {
|
|
Packit Service |
724aca |
timeout.tv_sec = 1;
|
|
Packit Service |
724aca |
timeout.tv_nsec = 0;
|
|
Packit Service |
724aca |
}
|
|
Packit Service |
724aca |
nanosleep(&timeout, NULL);
|
|
Packit Service |
724aca |
}
|
|
Packit Service |
724aca |
#endif
|
|
Packit Service |
724aca |
}
|