本帖最后由 perekinsun 于 2011-1-19 09:43 编辑
小弟刚写了一个延时函数,使用了NDK中的fdselect(),将前四个参数设为0,使得函数在延时timeout后返回,但是程序运行到fdselect后就无法返回了,感觉阻塞在哪里。
原函数如下,望高手指点。
void vrpn_SleepMsecs( double dMsecs )
{
timeval timeout;
// Convert milliseconds to seconds
timeout.tv_sec = (int)(dMsecs / 1000);
// Subtract of whole number of seconds
dMsecs -= timeout.tv_sec * 1000;
// Convert remaining milliseconds to microsec
timeout.tv_usec = (int)(dMsecs * 1000);
// A select() with NULL file descriptors acts like a microsecond
// timer.
fdSelect(0, 0, 0, 0, & timeout); // wait for that long;
} |