#include #include #include void NullRoutine() { } /* * sleepms() -- sleep the given number of milliseconds */ sleepms(int ms) { struct itimerval itimer; signal(SIGALRM, NullRoutine); /* do nothing on an alarm, not the same as SIG_IGN */ itimer.it_interval.tv_sec = 0; itimer.it_interval.tv_usec = 0; itimer.it_value.tv_sec = ms/1000; itimer.it_value.tv_usec = (ms*1000)%1000000; setitimer(ITIMER_REAL, &itimer, 0); sigpause(0); }