关于linux下sem的2个问题
1,代码中用到信号量,在某些异常场景下需要将sem的值清0,目前用的while(sem_trywait((intrap_sem *)g_sem)==0);来将一个sem减到0,这种写法感觉比较费时间,有没有哪个api,可以一次就将sem的值设置为0的;
2,有没有哪个系统调用,可以查询当前信号量的值,即知道释放了几次信号量,但是不影响信号量本身的value的,只是查询(不影响信号量本身的值); 用systemV的信号量(<sys/sem.h>)好像可以,semctl函数。
页:
[1]