1*8e33eff8Schristos #include "test/jemalloc_test.h" 2*8e33eff8Schristos 3*8e33eff8Schristos /* 4*8e33eff8Schristos * Sleep for approximately ns nanoseconds. No lower *nor* upper bound on sleep 5*8e33eff8Schristos * time is guaranteed. 6*8e33eff8Schristos */ 7*8e33eff8Schristos void 8*8e33eff8Schristos mq_nanosleep(unsigned ns) { 9*8e33eff8Schristos assert(ns <= 1000*1000*1000); 10*8e33eff8Schristos 11*8e33eff8Schristos #ifdef _WIN32 12*8e33eff8Schristos Sleep(ns / 1000); 13*8e33eff8Schristos #else 14*8e33eff8Schristos { 15*8e33eff8Schristos struct timespec timeout; 16*8e33eff8Schristos 17*8e33eff8Schristos if (ns < 1000*1000*1000) { 18*8e33eff8Schristos timeout.tv_sec = 0; 19*8e33eff8Schristos timeout.tv_nsec = ns; 20*8e33eff8Schristos } else { 21*8e33eff8Schristos timeout.tv_sec = 1; 22*8e33eff8Schristos timeout.tv_nsec = 0; 23*8e33eff8Schristos } 24*8e33eff8Schristos nanosleep(&timeout, NULL); 25*8e33eff8Schristos } 26*8e33eff8Schristos #endif 27*8e33eff8Schristos } 28