チェンジセット 24

差分発生行の前後
無視リスト:
コミット日時:
2006/09/03 18:23:48 (2 年前)
コミッタ:
sgk
ログメッセージ:

書き込みを若干効率化。

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • dual/trunk/dual.py

    r3 r24  
    8282  os.write(STDOUT_FILENO, curses.tigetstr('clear')) 
    8383 
    84 def deepwrite(fd, data): 
     84def writeall(fd, data): 
    8585  while len(data) != 0: 
    8686    n = os.write(fd, data) 
    87     data = data[n:] 
     87    data = buffer(data, n) 
    8888 
    8989class Decoder: 
     
    107107 
    108108      if cmd == 0: 
    109         deepwrite(self.sink_, s) 
     109        writeall(self.sink_, s) 
    110110      elif cmd == 1: 
    111111        (height, width) = struct.unpack('!HH', s[:4]) 
     
    231231  encoder.winsz(getwinsz(STDOUT_FILENO)) 
    232232  encoder.sink(data) 
    233   deepwrite(STDOUT_FILENO, data) 
     233  writeall(STDOUT_FILENO, data) 
    234234 
    235235  def sigwinch(s, frame): 
     
    247247          if fd in rfds: 
    248248            data = os.read(fd, 1024) 
    249             deepwrite(STDOUT_FILENO, data) 
     249            writeall(STDOUT_FILENO, data) 
    250250            encoder.sink(data) 
    251251 
    252252          if STDIN_FILENO in rfds: 
    253             deepwrite(fd, os.read(STDIN_FILENO, 1024)) 
     253            writeall(fd, os.read(STDIN_FILENO, 1024)) 
    254254 
    255255          if link in rfds: