シリアルポートの送受信バッファ設定について
Eröffnet am: 2015-04-23 10:48
Letztes Update: 2021-09-22 14:39
Auswertung: | (Anonym) | Verantwortlicher: | (Keine) |
---|---|---|---|
Priorität: | 5 - Mittel | Meilenstein: | (Keine) |
Typ: | Fehler | Schweregrad: | 5 - Mittel |
Komponente: | Tera Term | Status: | Offen |
Lösung | Keine |
Einzelheiten
commlib.cの143行目で送受信バッファの設定としてCommInQueSize, CommOutQueSizeの値を利用しています。
実際のデータ送信時のバッファ確認の際には、OutBuffSizeの定義から書き込み可能サイズを判断しているようです。(commlib.cの1110行目)
CommInQueSizeとOutBuffSizeで定義されている数値は異なリますが送信時のバッファ確認時に利用しているOutBuffSizeの方が値が小さいため
実動作上は問題ないように思えますが内容をご確認して頂けないでしょうか?
※teraterm-4_86のコードを参照
Kommentar
フロー制御によりTeraterm側の送信バッファがたまっていく状態が続くとTeratermがクラッシュするという現象が私の環境で確認できており、こちらの指摘と関連性があるかもということでコメントさせていただきます。
現在の最新リビジョンでは、それぞれの定義は以下の通りで OutBuffSize のほうが大きくなっており、本チケットの指摘事項の影響で問題が起こる可能性があるかもしれません。
#define CommOutQueSize 2048
#define OutBuffSize (1024*16)
本チケットの投稿時点では問題ないようでしたが、その後以下のリビジョンでOutBuffSizeの値が増えています https://ja.osdn.net/projects/ttssh2/svn/view?view=revision&root=ttssh2&revision=6071
ご確認いただければ幸いです。