標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
Single UNIX Specification、バージョン 3 |
両方 | z/OS V1R8 |
#define _UNIX03_SOURCE
#include <stdio.h>
void flockfile(FILE *file);
この関数により、明示的なアプリケーション・レベルの stdio (FILE*) オブジェクトのロッキングができます。この flockfile() ファミリーの各関数は、1 単位として実行される入出力ステートメントのシーケンスを表すのにスレッドが使用します。
flockfile() 関数は、スレッドに対する (FILE*) オブジェクトの所有権を取得し、必要な場合待機して、内部ロック・カウントを増加させます。そのスレッドが以前に所有権を取得していた場合、内部ロック・カウントは増加します。
内部ロック・カウントにより、flockfile() (または正常に終了した ftrylockfile()) および funlockfile() へのマッチング呼び出しをネストすることが可能になります。
z/OS® に関する考慮事項: flockfile() ファミリーの関数は、FILE * オブジェクトに基づいて機能します。同等として認識されていない複数の FILE * オブジェクトによって表される同じ物理ファイルを持つことが可能です。 例えば、fopen() がファイルをオープンし、open() が同じファイルをオープンし、fdopen() は FILE * オブジェクトを作成します。 この場合、最初の FILE * をロッキングしても 2 番目の FILE * がロックされて使用されることを妨げることはありません。
なし