【发布时间】:2013-02-28 17:32:11
【问题描述】:
为什么我不能为它的信号量集打开带有 4 个信号量的 semget? 即:
semget(key_t key, int nsems, int semflg);
使用 nsms 为 3 调用上述函数很好,但使用 4 它返回负 1..
int sempahore = semget((key_t)key,4,IPC_CREAT | MY_PERMS);
以上代码仅在我将 4 更改为 3 时才有效
否则 errno 返回无效参数
【问题讨论】:
-
你能添加你正在尝试执行的真实代码,以及调用失败后errno的值吗?因为 errno 将指示发生的错误,并且 9/10 您正在使用的参数与错误之间存在关系。
-
我做到了,谢谢,请立即阅读:C