很奇怪的问题 ! semTake(sem, WAIT_FOREVER) 始终无法阻塞 !
zxr65 2008-04-13 12:58:57 do
{
...
semTake(sem, WAIT_FOREVER);
...
} while(1);
sem 是通过 semCCreate 创建的 counter 信号量。
semTake 第一次可以阻塞在 sem 上等待, 也就是 sem 第一次被 semGive 后 semTake 成功, 但是以后就无法阻塞在 sem 上 semTake 立即返回并且成功返回 0 即使 sem 没有被 semGive (我每次循环把 counter 值打出来多是 0 ) ; 本来应该阻塞的可是就是不阻塞。
我总是能遇到很奇怪的问题, 郁闷死了 !
希望能给我点建议, 非常感谢 !