1 つのプロセス内でのスレッド同期用のモニター同期オブジェクトを作成します。
構文:
call "CBL_MONITOR_OPEN_INTRA" using by reference monitor-handle
by value open-flags
パラメーター
|
呼び出しプロトタイプ使用時 (「説明の読み方」を参照) |
PIC |
monitor-handle |
cblt-pointer |
USAGE POINTER |
open-flags |
cblt-os-flags |
pic x(4) comp-5 または
pic x(8) comp-5 (64 ビットのネイティブ プログラムのみ)
|
入力パラメーター:
- open-flags
- ロックを許可するために使用される優先度アルゴリズムを示す値。
- ビット 0
-
0 |
リーダーおよびライターの優先度はインターリーブ方式になります。つまり、書き込み要求が発行された場合、それ以降のすべての読み取り要求は、その書き込み要求が許可されて終了するまでブロックされます。 |
1 |
読み取り要求が常に優先されます。そのため、ライター スターベーションが発生する可能性があります。 |
- 上記以外のビット
- 予約済みであり、ゼロに設定する必要があります。
出力パラメーター:
- monitor-handle
- モニター ハンドル。
- return-code
- 値 0 は呼び出しが成功したことを意味し、それ以外の値はエラーを意味します。詳細については、「同期ルーチンの RETURN-CODE 値」を参照してください。
説明:
open-flags のビット 0 が 0 に設定されている場合に、入れ子になった読み取りロックが要求されると、シングル スレッド デッドロックが発生する可能性があります。