No.210: アクセスログファイルとカウントファイルでデッドロックが発生する可能性
2020/09/26(Sat) 22:49:10
Name: 清水31 現在はカウントファイルのアクセス後にアクセスログファイルをアクセスしているためデッドロックは発生しない。アクセスログファイルをregist.cgiからも更新するようにするとregist.cgiではカウントファイルをアクセスしていないためアクセスログファイルの処理の中でカウントファイルをreadすることになるが、ここでファイル・アクセスの入れ子構造を作ってしまうと実装にもよるが自端末のyybbs.cgiプロセスと別端末のregist.cgiプロセスとがデッドロックを発生させてしまう可能性がある。
==> カウントファイルの内容はグローバル変数に置きyybbs.cgiはそれをアクセスする。regist.cgiも初期値ゼロが設定されているそのグローバル変数をアクセスする。regist.cgiによるアクセスログであることは判別できるようにする予定なのでカウント値がゼロでも問題ないであろう。