semget失败错误号22
我在执行这么一句简单的程序时出错,错误号22
g_semid = semget(123, 10, 0666|IPC_CREAT)
把第二个参数改成1就可以了,其它大于1的都不行。这是什么原因?
g_semid = semget(123, 10, 0666|IPC_CREAT)
把第二个参数改成1就可以了,其它大于1的都不行。这是什么原因?
作者: bucher 发布时间: 2011-06-14
先看一下 123 key 的 信号量,先删除它。
if((semid=semget(key,nsem,0600|IPC_EXCL|IPC_CREAT))==-1) {
if(errno==EEXIST)
semid=semget(key,nsem,0);
}
}
if((semid=semget(key,nsem,0600|IPC_EXCL|IPC_CREAT))==-1) {
if(errno==EEXIST)
semid=semget(key,nsem,0);
}
}
作者: wenlq 发布时间: 2011-06-14