TTProxyのタイムアウト処理が応答なしに見える
TTProxyの接続、送信、受信処理のタイムアウト中、Tera Termが応答なしになる。
TTProxyの内部で select() を使って、タイムアウト処理を行っているため。 ソケットはノンブロッキングだが、select関数はブロック型なので、結果として TTProxyの処理がブロックする。
int _sendToSocket(SOCKET s, const unsigned char* buffer, int size) { int recieveFromSocketTimeout(SOCKET s, unsigned char* buffer, int size, int timeout) { DECLARE_HOOKAPI(int, connect, (SOCKET s, const struct sockaddr* name, int namelen), (s, name, namelen)) {
TTProxyの接続、送信、受信処理のタイムアウト中、Tera Termが応答なしになる。
原因
TTProxyの内部で select() を使って、タイムアウト処理を行っているため。
ソケットはノンブロッキングだが、select関数はブロック型なので、結果として
TTProxyの処理がブロックする。