Solaris 8 では、fcntl(2) ロックに加えて、flock の 1 バージョンが実装されています。このバージョンと SunOS 4.x のバージョンは、完全なバイナリ互換性を備えているわけではなく、以下のような相違点があります。
flock では、排他的ロックを要求する前にファイルが書き込み用にオープンされていることが必要です。
共用ロックを取得するには、ファイルに対する読み取り権が必要です。
プロセスが flock() を使ってすでにロックされているセグメントをロックすると、古いロックタイプが除去され、新しいロックタイプが効力を持ちます。
ロックは、fork() 関数の子プロセスには継承されません。
SunOS 4.x の下で flock() メカニズムにより取得したロックは、それを設定したシステムの中でしか認識されませんでした。この制約はなくなりました。
SunOS 4.x の flock() 動作は、デフォルトの Solaris 8 リリースでもこのパッケージでも利用できません。