2014-03-05 16:34:08 (水)
通常では、問題がないことは前回の通りで
問題になる場合を探ってみた。
fcloseで flock が解除され問題になる場合は
http://www.kklib.com/blog/flock2.php.txt
の様に、フォークを使用した時の様である。
実行結果は次の通り
5.3.1
flock rc = 0
lock2 error 1
ko lock2 error 1
lock2 success2 0
lock2 success3 0
5.3.2
flock rc = 0
lock2 error 1
ko lock2 error 1
lock2 error2 1
lock2 success3 0
と、なった。
違いは、
5.3.1 : lock2 success2 0
5.3.2 : lock2 error2 1
で、ロックされていないといけないはずが
5.3.1では、ロックされていない。
子プロセスのexitで、自動的にfcloseが動作しロックが解除されている。
でも、マニュアルにある『ロックの解放は、常に手動で行わなければなりません。 』
の理由は、よくわからないなぁ・・・