[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: wait asynchronous process
>> On Mon, 10 Nov 2003 12:38:41 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:
山> process-buffer の最後に "\nProcess cat finished" というものが入っ
山> て、サイズの照合に失敗する場合がありますね。
土> (set-process-sentinel proc 'ignore) しているので,そのメッセージは
土> 入らないはずなんですけど….多分,そのメッセージが入ってしまう
土> Emacsen では,emacs-w3m ではまともなファイルのダウンロードはできな
土> いだろうと思います.
山> ひええい。
いやその,これはちょっと強く書きすぎました.正しくは,「まともなファイ
ルのダウンロードができることを保証できない」ですね.
非同期プロセスが終了するよりも早く sentinel function を設定できればい
いのですが,サンプルコードの
(let* ((coding-system-for-read 'binary)
(proc (start-process "cat" (current-buffer) "cat" file)))
(set-process-sentinel proc 'ignore)
よりも早い段階で設定することは emacs lisp 的には不可能です.しかし,大
抵の場合はネットワークによる遅れが,emacs lisp の命令評価の1サイクルよ
りも大きいことが期待できますから,保証はできませんが,大抵の場合は大丈
夫ということになります.
逆に言えば,レスポンスの良いサーバーから極端に小さいファイルを,遅いコ
ンピュータで受け取る場合には危ない,ということです.
山> http://emacs-w3m.namazu.org/emacs-w3m-1.3.6.tar.gz は先の問題を起
山> こす XEmacs 21.4.14 でも正しいサイズで取れましたが、今後気をつけて
山> みます。
というわけで.これくらい大きいファイルは確実に大丈夫でしょう.
--
土屋 雅稔 ( TSUCHIYA Masatoshi )