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