key
と
flag
の値に基づき、
semget()
は新たに作成された、あるいは
以前から存在するセマフォ集合の識別子を返します。
キーはファイル名に類似しています。
キーは IPC オブジェクトに名前を付けるハンドルを提供します。
キーを指定する方法は 3 つあります:
- IPC_PRIVATE
を指定できます。
この場合、新しい IPC オブジェクトが作成されます。
- 整数定数を指定できます。
key
に対応する IPC オブジェクトが指定されておらず、
しかも IPC_CREAT ビットを
flag
引数で設定している場合、新しい IPC オブジェクトが作成されます。
- ftok(3)
関数を使用して、パス名からキーを生成できます。
新しく作成される IPC オブジェクトのモードは、次の定数の論理和 (
OR
) を
flag
引数に設定することで決定されます:
SEM_R
|
ユーザ用の読取りアクセス
|
SEM_A
|
ユーザ用の書換えアクセス
|
( SEM_R>>3)
|
|
グループ用の読取りアクセス
|
( SEM_A>>3)
|
|
グループ用の書換えアクセス
|
( SEM_R>>6)
|
|
その他用の読取りアクセス
|
( SEM_A>>6)
|
|
その他用の書換えアクセス
|
新しいセマフォ集合が作成されている場合、
nsems
を使用して、集合の中に入れる必要のあるセマフォの数を示します。
そうでない場合、
nsems
を 0 として指定できます。