[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: Cannot obtain a headers list for sb-rss



>> On Sun, 21 Dec 2003 13:24:34 +0900
>> 「中」== minakaji@namazu.org (NAKAJIMA Mikio) said as follows:

中> *temp* バッファに取得した RSS が途中で切れてしまっていることが原因
中> のようです。

ははあ,[emacs-w3m:06033] wait asynchronous process の亡霊ですな.

before_asynchronous_redirect 以前の版では,取得されたデータを保持する
バッファと,w3m-retrieve() のデータを書き出すバッファが同一でした.そ
のため,redirect 先のデータが見つからずに w3m-retrieve() が失敗した場
合には,内容の保証されていないデータが書き出されているということになっ
てしまっていました.

before_asynchronous_redirect 後の版では,取得されたデータは一時バッファ
に保持するように変更し,取得成功が確認できた時点で,実際の出力バッファ
にコピーするように改めました.

しかし,この変更により,非同期プロセスの終了待ちが critical なことになっ
てしまいました.以前の版では,終了待ちに多少失敗したとしても,実際にデー
タを参照するよりも前の段階で書き込まれていさえすれば良かったわけです.
それに対して,現在の版では,コピーする時点までに書き込まれていなければ
ならなくなったので,以前の版よりも margin が少なくなってしまったわけで
す.

実は,私の環境でも同じ問題が確率50%くらいで生じていて,困っています.
おそらく,w3m-process-wait-process() の定義を何とかする必要があるのだ
ろうと思うのですが,どなたか案はないでしょうか?

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )