[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mhc:01246] 遅いリンクでの mhc-sync
はじめまして。
mhc-syncで失敗することがあります。
emacsからmhc-syncを使う場合(M-x mhc-file-sync)に、ネットワークが非常に遅
い場合(ppp - 28800bpsの場合)に失敗します。
具体的には、ローカル側の.mhc-db-logには転送を行なった記録が残っているに
も関わらず、リモート側では何も行なった形跡がありません。(syncできていま
せん)
同じネットワーク環境でもshellからmhc-syncコマンドを打った時にはうまく行
きます。
どうも、remote側の処理が終る前にpipeがクローズされているようで、結果とし
てremote側のプロセスが(何もする前に)killされているようです。
試しにmhc-syncを次の用に書き換えたところremote側の処理が完了します。
1 #!/usr/local/bin/ruby -Ke
2 # -*- ruby -*-
3
4 ### mhc-sync -- Data synchronization tool for MHC.
5 ##
6 ## Author: Yoshinari Nomura <nom@xxxxxxxxxxxxx>
7 ##
8 ## Created: 2000/04/26
9 ## Revised: $Date: 2000/10/30 16:43:25 $
・
・
416 when '--' # peaceful
417 ;;
418 end
419 }
420 inout .print $DELIMITER2
→ 421 dummy = inout .gets
422
423 logent = MhcLogEntry .new('S', Time .now, $flag_syncid)
424 if !$flag_noharm
425 log .add_entry(logent)
426 else
427 STDERR .print "C:adding log entry #{logent}\n"
428 end
429 end
何らかの方法でremote側の完了を待ってから(もしくはtimeoutしてから)次に進
むのが正しいと思うのですが、どうやればただしいのかわかりませんでした。
環境は
local側 FreeBSD 4.2
ruby 1.6
mhc current? (CVSで2001/2/4にとってきた)
emacs 20.7.1
xemacs 21.1.12
remote側 Solaris 2.5.1
ruby 1.6
mhc snap200112??あたり
です。
--
橋 宏彰 <bridge@xxxxxxxxxxxx>