EN JA
FLOPEN(3)
FLOPEN(3) FreeBSD Library Functions Manual FLOPEN(3)

名称

flopen信頼できるファイルのオープンとロック

ライブラリ

System Utilities Library (libutil, -lutil)

書式

#include < sys/fcntl.h>
#include < libutil.h>

int
flopen( const char *path, int flags);

int
flopen( const char *path, int flags, mode_t mode);

解説

flopen() 関数は、ファイルをオープンするか、作成して、それの排他的なロックを得ます。 flopen() が、ファイルをオープンするか、または作成し、それをロックする間に起こるかもしれない競合を検出して操作する試みを行うことを除いて、 LOCK_EX操作 引数を付けて flock() が続いている同じパラメータを付けて open() を呼び出すことと本質的に同等です。したがって、プロセスの間の同期に使用される、ロックファイル、PID ファイル、スプールファイル、メールボックスと他の種類のファイルのオープンにに適しています。

flagsO_NONBLOCK を含み、ファイルが既にロックされているなら、 flopen() は、 errnoEWOULDBLOCK に設定して失敗します。

open() と同様に、 flagsO_CREAT を含むなら、追加の mode 引数を必要とします。

戻り値

成功するなら、 flopen() は、有効なファイル記述子を返します。そうでなければ、-1 を返し、 flock(2)open(2) で説明されているように errno を設定します。

関連項目

errno(2), flock(2), open(2)

作者

flopen 関数とこのマニュアルページは、 Dag-Erling Smørgrav <des@FreeBSD.org>によって書かれました。
June 6, 2009 FreeBSD