[Mew-dist 04309] Re: [imget] lost mail

太田博志 oota at example.com
1998年 3月 26日 (木) 20:19:01 JST


;; このfsyncの部分は何のために理解していないのですが、closeした後でも良いと
;; 思います。
これまぬけな発言でした、closeしたあとじゃfsyncできない。
fsyncはNFS関連のためのコードでしょうか。ちょっと厄介なので調べたことをま
とめます。

現象: imgetでディスクフルの時に1000バイト程度のメールを受けるとロストす
      る。

  1 MsgStoreの
 	if (&unixp() && !&no_sync()) {
 	    select (ART); $| = 1; select (STDOUT);
                         ^^^^^^^ここでfflushを行っている。
  2 FreeBSD 2.5で使っているfflush
    static char sccsid[] = "@(#)fflush.c    8.1 (Berkeley) 6/4/93";
    はエラーが起きたときに状態を保存しない、そのため後に続くfcloseは正
    常終了する。
  3 perlの $| でfflushを行うとステータスを取れない。
  4 良くわからないけどfsyncしなければいけない理由もありそうだ。
    このためにはfflushしないと意味が無い。
-- 

					太田博志
					<URL:mailto:oota at example.com>
					<URL:http://www.POBoxes.com/oota>



Mew-dist メーリングリストの案内