SEMGET(2) FreeBSD システムコールマニュアル SEMGET(2)
名称
semget − セマフォ ID を取得する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <sys/types.h> int |
semget(key_t key, int nsems, int flag); |
解説 |
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 として指 定できます。 戻り値 |
semget() システムコールは、正常に完了するとセマフォ集合の識別子を返しま す。そうでない場合は、-1 を返し、エラーを示すように errno を設定します。 |
エラー
semget() システムコールは次の場合に処理に失敗します: |
[EACCES]
アクセスパーミッション障害。 [EEXIST] [EINVAL] [ENOSPC] [ENOSPC] [ENOENT] 関連項目 |
FreeBSD 10.0 September 12, 1995 FreeBSD 10.0 |