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

[mhc:01258] Re: 遅いリンクでの mhc-sync



橋です。

ネットワーク環境が変わってしまって、全く再現しなくなってしまいました。
ネットワークが早いとおきないようです。

In "[mhc:01253] Re: 遅いリンクでの mhc-sync" at Fri, 09 Feb 2001 17:23:57 +0900
 Yoshinari Nomura <nom@xxxxxxxxxxxxxxxxxxx>  wrote:
> DELIMITER2 を送った後に
> 明示的に待たなくても、プロセスを終了するときに close が実行されて、
> その close を待つので、問題ないと思っていました。

shellからmhc-syncを行なっても微妙な差があることに気づきました。

emacsでやってもうまく行く環境でのshellからの実行
  tomba% mhc-sync -x tomba hoge@xxxxxxxxxxx
  Initalizing local ... done.
  Connecting xxx.yyy.zzz ...
  Enter passphrase for RSA key 'hoge@tomba': 
  Initalizing remote (exchange_id=tomba) ... done.
  tomba%

emacsではうまくいかない環境でのshellからの実行
  tomba% mhc-sync -x tomba hoge@xxxxxxxxxxx
  Initalizing local ... done.
  Connecting xxx.yyy.zzz ...
  Enter passphrase for RSA key 'hoge@tomba': 
  Initalizing remote (exchange_id=tomba) ... tomba%done.
                                             ^^^^^^
                                             remoteからdone.が来る前に
                                             shellに戻っている

バッファの表示は
うまく行く時
  Initalizing remote (exchange_id=tomba) ... done.
  <<<transfer finish>>>

だめなとき  
  Initalizing remote (exchange_id=tomba) ...<<<transfer finish>>>

でした。

> これが正しいとして、emacs の場合にはうまくいかないのは何故なんでしょう。
> 
> emacs 上で一見実行が終わっているように見えるけど、
> 実は終わっていなくて、ユーザはそれに気付かなくて、
> そのバッファを殺してしまっているとか。
> ステータスが表示されるバッファを殺すとプロセスも死にますから。

なので、remoteが処理する前にバッファがkillされているように感じます。

> process-sentinel が、どういうイベントを受けて終了しているか
> 観察していただけませんでしょうか。

これ入れて少し試してみます。
# うまく行く時は 'finished'と出ているように見えます。

--
  橋 宏彰 <bridge@xxxxxxxxxxxx>