【发布时间】:2012-12-16 20:02:27
【问题描述】:
arg.val = 1;
if (sem_id = semget(IPC_PRIVATE, 1, 0600 | IPC_CREAT) == -1 ){
perror("Creating semaphore failed");
exit(1);
}
else {
printf("Creating a semaphore with ID: %d \n",sem_id);
if (semctl(sem_id, 0, SETVAL, arg) == -1 ) {
perror("Initialization of semaphore failed\n");
exit(1);
}
}
我正在尝试创建和初始化一个信号量,当我编译我的程序时它返回给我:
“信号量初始化失败
:标识符已移除
你能解释一下为什么会这样吗?
【问题讨论】:
-
您的 if 语句中缺少右括号。
-
我忘记了!抱歉!您能发现其他问题吗?