日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMS ドキュメント
ライブラリ

タイトル
目次
まえがき
リファレンス・セクション
   ≫ライブラリ関数一覧
索引
PDF
OpenVMS ホーム

HP OpenVMS
HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)


目次 索引




プロセスで使用するための名前付きセマフォをオープン/作成します。

形式

#include <semaphore.h>

sem_t *sem_open (const char *name, int ooption...)

;


引数



name

セマフォ・オブジェクトの名前。

ooption

セマフォを作成する (O_CREAT オプションビット設定) か,あるいはオープンするだけ (O_CREAT オプションビット・クリア) かを指定します。 O_CREAT が設定されている場合,同じ名前のセマフォがすでに存在する場合はその呼び出しは失敗することを指定するために, O_EXCL オプションビットも設定されている可能性があります。 O_CREAT および O_EXCL オプションは, <fcntl.h>ヘッダ・ファイルで定義されています。

mode

セマフォの権限ビット。この引数はセマフォを作成する場合のみ指定します。

value

セマフォに渡される初期値。この引数は,セマフォの作成時のみに使用されます。

説明

名前付きセマフォとプロセスとの接続の確立には sem_open関数を使用します。その後,呼び出しプロセスは,その呼び出しで返されるアドレスを使用してセマフォを参照できます。このセマフォは, sem_waitsem_trywaitsem_post,および sem_getvalue関数に対するその後の呼び出しで利用できます。このセマフォは, sem_close関数の正常な呼び出しでクローズされるまでの間,プロセスで使用可能です。

ooption パラメータの O_CREAT オプションビットは, sem_open呼び出しの際に,セマフォを作成するかあるいはオープンするだけかを制御します。

作成されるセマフォのユーザ ID には呼び出しプロセスのユーザ ID が設定され,グループ ID にはシステムのデフォルトのグループあるいはそのプロセスのグループ ID が設定されます。セマフォの権限ビットは,プロセスのファイル・モード作成マスクで設定されているものを除き mode 引数の値に設定されます。

セマフォが作成されると,他のプロセスは, sem_open呼び出しでこの name 引数と同じ値を使用してセマフォをオープンできます。


戻り値

sem 正常終了。この関数はセマフォをオープンし,そのセマフォの記述子を返します。
sem_failed エラーの発生を示します。この関数は errno に次のいずれかの値を設定します。

  • EACCES---名前付きセマフォは終了し, ooption で指定された権限は拒否されました。あるいは,名前付きセマフォは終了せずに ooption で指定された権限が拒否されました。

  • EEXIST--- O_CREAT および O_EXCL が設定されたが,名前付きセマフォはすでに存在しています。

  • EINVAL--- sem_open 操作はこの名前ではサポートされていません。あるいは,O_CREAT が ooption で指定されており, value が {SEM_VALUE_MAX} よりも大きな値です。

  • EMFILE---セマフォ記述子が多すぎます。あるいはファイル記述子がこのプロセスで使用中です。

  • ENAMETOOLONG--- name 文字列の長さが {PATH_MAX} を超えています。あるいは,{_POSIX_NO_TRUNC} が有効にもかかわらずパス名の一部が {NAME_MAX} より長くなっています。

  • ENFILE---システムでオープンされているセマフォが多すぎます。

  • ENOENT---O_CREAT が設定されておらず,名前付きセマフォが存在しません。

  • ENOSPC---新しい名前付きセマフォを作成するのに十分なスペースがありません。

  • EVMSERR---変換不可能な OpenVMS エラー


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.