12/09/01 00:32:34.17 QCZY5Y9X0
鯖飛んだ場合はsubject.txtをmdに置いてたから空になるのは当然なんで、
これは起動後処理かcronで回すなり別途対処するとして。
f22とやらがなんの処理なにやってるのか判らないですが、
そいつがsubject.txt触る時に全部作ってからrenameで
上書きルール守ってないんじゃないんですか?
そもそも論を言えば、読む前にlockして、読んで変更して書き戻してlock解除が
正しい訳ですがlock嫌いな感じぽいので、現状の改良案を何個か。
案1.読んで変更して書き戻しまでを可能な限り短かくする。
3)処理はsubject.txt読む前に終らせる。$nに保存。
subject.txtを1つの文字列として読んで、$subtm。
($b,$t,$l) = $subtm =~ m/^(.*\n)($keyfile<>[^\n]*\n)(.*)/;
で3分割、通常なら$newsub = $n . $b .$l ;
sageなら$newsub = $b . $n . $l ; で $newsubをfileに書いてrename。
行単位への変換は書き戻し後にのんびり処理。
#複数行文字列への正規表現処理は不案内なので、修正は必要かも
案2.subject.txtを読んでの部分で変な感じなら読み直す
スレ立て以外ではsubject.txtに自スレ情報が有るはずなので、
無いなら何回かリトライする。
>>380
一応3)の処理のdat読み込むは違っててメモリに行分割されて既に入ってるぽいです。
(11年1月流出ソース見る限り)