红联Linux门户
Linux帮助

信号量疑惑

发布时间:2011-04-02 09:01:19来源:红联作者:API
在semctl(sm_id,0,SETVAl,5)中,为什么信号量个数为0,不是至少有一个信号量才能对信号量赋值吗?

还有就是在在实现P原语的Psem(int sem_id)中:
int Psem(int sem_id)
{
struct sembuf sem_b;
sem_b.sem_num = 0;
sem_b.sem_op = -1;
sem_b.flg = SEM_UNDO;
if(semop(sem_id,&sem_b,1) == -1)
{
fprintf(stderr,"P failed!");
return 0;
}
return 1;
}
为什么将要处理的信号量个数为0 ?不是应该为'1'吗?
文章评论

共有 4 条评论

  1. hml1006 于 2011-04-07 15:16:54发表:

    还没仔细学习过

  2. hml1006 于 2011-04-07 15:16:42发表:

    还没仔细学习过

  3. way1112 于 2011-04-07 12:46:09发表:

    不是0个,是数组下标0

  4. API 于 2011-04-02 12:09:08发表:

    等回复。。。。。。