首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

sem_wait 阻塞的一个诡异有关问题

2013-04-09 
sem_wait 阻塞的一个诡异问题程序已经跟踪很多次, 不知为什么 sem_wait(&the_sem) 会阻塞住. 假设该进程

sem_wait 阻塞的一个诡异问题
程序已经跟踪很多次, 不知为什么 sem_wait(&the_sem); 会阻塞住. 假设该进程的进程号为 pid .
当我用 "strace -ppid" 查看进程的系统调用时, 进程会从阻塞恢复, 并且从此以后完全正常, 不会在同一位置阻塞. 而 strace 的输出也没什么异常.
不知哪位大侠可以给个提示? sem_wait linux??c strace
[解决办法]
 sem_wait(&the_sem); 这句话的意思就是阻塞,直到有人释放了the_sem这个信号啊
[解决办法]
sem_wait的作用是执行信号量减1,但前提是该信号量为非零值,sem_wait(&the_sem);这句阻塞了,很可能是另外一个地方没有把信号量the_sem置为非零

热点排行