セマフォの実装について
基本はPOSIXのサービスを使う
sem_open/sem_close (Named semaphore) sem_init/sem_delete (Unnamed semaphore)
NamedにするとProcess間で使用可能、UnnamedだとProcess跨げないらしい。
Namedのほうがいいようにも見えるけど、/dev/shm/ に何やら残骸が残ってしまう。
しかも残った後はO_EXCLでオープンできてしまう。
なんだかシステムとして予期しないバグになりそうで怖い。
Unnamedにすべきかなぁ。。。
(動作テスト結果)
- Closeしなくても、次のOpen(O_CREAT)でエラーにはならない。
- 逆にunlinkした後でもOpen(O_EXCL)はできている。
- unlinkは名前でアクセスなので、使いにくい。なくても問題は出ない様子??