[mew-dist 21505] Re: 重複したメールが取り込まれる

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2002年 8月 21日 (水) 15:04:10 JST


From: Seiji Kohzuma <skouzuma at example.com>
Subject: [mew-dist 21501] 重複したメールが取り込まれる

> i でメールをincしている途中で、サーバーとのコネクションが
> 切れると、次にincした時に既に取り込まれたメールが、再度
> 取り込まれてしまいます。C-c C-k でも発生します。
> [mew-dist 21290]の副作用ではないでしょうか。

深いですねぇ。21290 も含めて、以下の例で考察します。

一つ前のUIDL  アクセス時のUIDL
  A                            ← なんらかの理由で削除された
  B                            ← なんらかの理由で削除された
  C             C              ← 既読
  D             D              ← 既読
                E              ← 新着
                F              ← 新着

21290 は、「アクセス時のUIDL」が(パスワード入力前なので) nil にも関わ
らず、sentinel で保存していたのが原因です。次は、「一つ前の UIDL」が 
nil になりますから、すべて新着となり、全部取り直していたのでした。

それで現在は、新着をすべて取った場合に限り、「アクセス時のUIDL」を
sentinel で保存しています。

今回の問題は、E は取れているけど、F は取れない場合にどうするかというこ
とです。

取れた新着と取れなかった新着を区別して、{C,D,E} を保存すればよいと思い
ます。

ただ、保存するのは sentinel ですから、

(1) コネクションが切れたら、sentinel が呼ばれるのか?
	呼ばれるかも
(2) C-cC-k では、sentinel が呼ばれるのか?
	呼ばれない気がする
	# delete-process って、sentinel ごと delete するような...

を確かめる必要があります。

時間ができたら実験してみますが、この辺りに詳しい人がいれば、フォローを
お願いします。

--かず



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