From 4d84d07d09de5a38a73b685636d2ddea055421ae Mon Sep 17 00:00:00 2001 From: John Hodge Date: Wed, 2 Mar 2011 14:09:46 +0800 Subject: [PATCH] Upgrading telnet client to new TCP code --- Usermode/Applications/telnet_src/main.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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); -- 2.20.1