0

私は、読者と作家の問題を解決することになっている学校の課題を持っています。以前に見つけたように、 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での作業

4

1 に答える 1

3

の引数モードと値を切り替えたと思いますsem_open

于 2012-04-24T20:20:58.413 に答える