\r
for( ;; )\r
{\r
- ProcessIncoming(&srv);\r
+ fd_set readfds;\r
+ int rv;\r
+ \r
+ FD_ZERO(&readfds);\r
+ FD_SET(0, &readfds); // stdin\r
+ FD_SET(srv.FD, &readfds);\r
+ \r
+ rv = select(srv.FD, &readfds, 0, 0, NULL);\r
+ if( rv == -1 ) break;\r
+ \r
+ if(FD_ISSET(0, &readfds))\r
+ {\r
+ // User input\r
+ }\r
+ \r
+ // Server response\r
+ if(FD_ISSET(srv.FD, &readfds))\r
+ {\r
+ ProcessIncoming(&srv);\r
+ }\r
}\r
\r
close(srv.FD);\r