8 #if defined(__NetBSD__) || (defined(__OpenBSD__) && OpenBSD <= 200511)
9 # define sched_yield() \
10 do{ struct timespec ts; \
27 tv.tv_sec = milli/1000;
28 tv.tv_usec = (milli%1000)*1000;
29 return select(0, 0, 0, 0, &tv);
36 struct itimerval oitv;
38 itv.it_interval.tv_sec = 0;
39 itv.it_interval.tv_usec = 0;
40 itv.it_value.tv_sec = milli/1000;
41 itv.it_value.tv_usec = (milli%1000)*1000;
42 if(setitimer(ITIMER_REAL, &itv, &oitv) < 0)
44 return oitv.it_value.tv_sec*1000+oitv.it_value.tv_usec/1000;