2015-07-22 07:45:35 +08:00
|
|
|
#include "test/jemalloc_test.h"
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Sleep for approximately ns nanoseconds. No lower *nor* upper bound on sleep
|
|
|
|
* time is guaranteed.
|
|
|
|
*/
|
|
|
|
void
|
2017-01-16 08:56:30 +08:00
|
|
|
mq_nanosleep(unsigned ns) {
|
2015-07-22 07:45:35 +08:00
|
|
|
assert(ns <= 1000*1000*1000);
|
|
|
|
|
|
|
|
#ifdef _WIN32
|
|
|
|
Sleep(ns / 1000);
|
|
|
|
#else
|
2015-07-23 06:49:34 +08:00
|
|
|
{
|
|
|
|
struct timespec timeout;
|
2015-07-22 07:45:35 +08:00
|
|
|
|
2015-07-23 06:49:34 +08:00
|
|
|
if (ns < 1000*1000*1000) {
|
|
|
|
timeout.tv_sec = 0;
|
|
|
|
timeout.tv_nsec = ns;
|
|
|
|
} else {
|
|
|
|
timeout.tv_sec = 1;
|
|
|
|
timeout.tv_nsec = 0;
|
|
|
|
}
|
|
|
|
nanosleep(&timeout, NULL);
|
2015-07-22 07:45:35 +08:00
|
|
|
}
|
|
|
|
#endif
|
|
|
|
}
|