From: John Hodge Date: Wed, 2 Mar 2011 06:09:46 +0000 (+0800) Subject: Upgrading telnet client to new TCP code X-Git-Tag: rel0.10~165 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=4d84d07d09de5a38a73b685636d2ddea055421ae;p=tpg%2Facess2.git Upgrading telnet client to new TCP code --- diff --git a/Usermode/Applications/telnet_src/main.c b/Usermode/Applications/telnet_src/main.c index 6c4f892e..f4f048a4 100644 --- a/Usermode/Applications/telnet_src/main.c +++ b/Usermode/Applications/telnet_src/main.c @@ -27,14 +27,15 @@ int main(int argc, char *argv[], char *envp[]) while( client_running ) { fd_set fds; + fd_set err_fds; char buffer[BUFSIZ]; int len; - FD_ZERO(&fds); - FD_SET(0, &fds); - FD_SET(server_fd, &fds); + FD_ZERO(&fds); FD_ZERO(&err_fds); + FD_SET(0, &fds); FD_SET(0, &err_fds); + FD_SET(server_fd, &fds); FD_SET(server_fd, &err_fds); - rv = select(server_fd+1, &fds, NULL, NULL, NULL); + rv = select(server_fd+1, &fds, NULL, &err_fds, NULL); if( rv < 0 ) break; if( FD_ISSET(server_fd, &fds) ) @@ -57,6 +58,11 @@ int main(int argc, char *argv[], char *envp[]) write(1, len, buffer); } while( len == BUFSIZ ); } + + if( FD_ISSET(server_fd, &err_fds) ) + { + break ; + } } close(server_fd);