sem_unlink权限被拒绝

时间:2012-04-24 20:12:39

标签: c macos posix

我有一个学校作业,我们应该解决readers-writers问题。正如我之前发现的那样sem_init is not supported on osx machine所以我选择了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

1 个答案:

答案 0 :(得分:3)

我认为您切换了sem_open的参数模式和值。