Browse Subversion Repository
Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/ssh.c
Parent Directory
| Revision Log
| Patch
| 767 |
static int retry_send_packet(PTInstVar pvar, char FAR * data, int len) |
static int retry_send_packet(PTInstVar pvar, char FAR * data, int len) |
| 768 |
{ |
{ |
| 769 |
int n; |
int n; |
| 770 |
|
int err; |
| 771 |
|
|
| 772 |
while (len > 0) { |
while (len > 0) { |
| 773 |
n = (pvar->Psend)(pvar->socket, data, len, 0); |
n = (pvar->Psend)(pvar->socket, data, len, 0); |
| 774 |
if (n == SOCKET_ERROR || n <= 0) |
|
| 775 |
|
if (n < 0) { |
| 776 |
|
err = WSAGetLastError(); |
| 777 |
|
if (err < WSABASEERR || err == WSAEWOULDBLOCK) { |
| 778 |
|
// send()の返値が0未満で、かつエラー番号が 10000 未満の場合は、 |
| 779 |
|
// 成功したものと見なす。 |
| 780 |
|
// PuTTY 0.58の実装を参考。 |
| 781 |
|
// (2007.2.4 yutak) |
| 782 |
|
return 0; // success |
| 783 |
|
} |
| 784 |
return 1; // error |
return 1; // error |
| 785 |
|
} |
| 786 |
|
|
| 787 |
len -= n; |
len -= n; |
| 788 |
data += n; |
data += n; |
| 789 |
} |
} |
| 790 |
|
|
| 791 |
return 0; // success |
return 0; // success |
| 792 |
} |
} |
| 793 |
|
|
| 7303 |
|
|
| 7304 |
/* |
/* |
| 7305 |
* $Log: not supported by cvs2svn $ |
* $Log: not supported by cvs2svn $ |
| 7306 |
|
* Revision 1.70 2007/01/22 13:45:19 maya |
| 7307 |
|
* 表示メッセージの読み込み対応 |
| 7308 |
|
* |
| 7309 |
* Revision 1.69 2006/12/08 16:11:54 yutakapon |
* Revision 1.69 2006/12/08 16:11:54 yutakapon |
| 7310 |
* パケット送信処理にTCPコネクション切断の誤検出をしないようにした。 |
* パケット送信処理にTCPコネクション切断の誤検出をしないようにした。 |
| 7311 |
* |
* |
|
|
Legend:
| Removed from v.2949 |
|
| changed lines |
| |
Added in v.2957 |
|
|
| |