[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 メーリングリストの案内