semget(2) FreeBSD 一般コマンドマニュアル

semget

前のページ 上に戻る 次のページ

semget




書式

     #include <sys/types.h>
     #include <sys/ipc.h>
     #include <sys/sem.h>

     int
     semget(key_t key, int nsems, int flag);


解説

     keyflag の値に基づき、 semget() は新たに作成された、あるいは以前から
     存在するセマフォ集合の識別子を返します。キーはファイル名に類似していま
     す。キーは IPC オブジェクトに名前を付けるハンドルを提供します。キーを指定
     する方法は 3 つあります。

     o   IPC_PRIVATE を指定できます。この場合、新しい IPC オブジェクトが作成さ
         れます。

     o   整数定数を指定できます。 key に対応する IPC オブジェクトが指定されて
         おらず、しかも IPC_CREAT ビットを flag 引数で設定している場合、新しい
         IPC オブジェクトが作成されます。

     o   ftok() を使用して、パス名からキーを生成できます。 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]           アクセスパーミッション障害。


関連項目

     semctl(2), semop(2), ftok(3)

FreeBSD 4.4                   September 12, 1995                   FreeBSD 4.4

ABELNET VPSサービス