ToDo:
SADInspectで、定義が長いシンボルを選択したときに 表示が更新されないことがあるので、調査していたのだが... Fortran I/Oのバッファリングが諸悪の根源のようです Orz
ネットワークからのストリーム受信を、非同期に実行するために Tkのハンドラから受信ルーチンを起動して n = SelectUnit[lun, 0]と Read[lun, {n * Byte}]の組み合わせで Non-blocking uni-byte stream inputを行っているのだが、 Read[]中に Fortran I/Oのバッファがリフィルされ kernel側のバッファが空かつ Fortran I/Oバッファが空でない 状態になると受信が停止します。 (kernel側バッファが空なので、ハンドラがトリガーされない & SelectUnit[]は 0を返すので読むべき量が分からない)
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記