我有一个学校作业,我们应该解决读者-作家问题。正如我之前发现的sem_init 在 osx 机器上不受支持,所以我选择了 sem_open。但是,下面的代码无法按预期工作。
if(sem_open(sem_reader, O_CREAT, 1, 0600) == SEM_FAILED)
perror("sem_reader");
信号量已创建,但是当我尝试使用以下代码取消链接时:
if(sem_unlink(sem_reader) != 0)
perror("unlink_sem_reader");
我得到输出:
unlink_sem_reader: Permission denied
我尝试使用 0700、0660 等权限,但我总是被拒绝权限。它们都包含在函数中,并且没有对它们执行任何操作。我不确定问题出在哪里。我的问题是:
我是否错误地设置了权限或问题出在其他地方?
编辑:在 Xcode / 10.7 中工作