Revision 89312c37
Added by Hamish Coleman over 17 years ago
- ID 89312c3752e4d2b2efee71ca2c5653a40093f4a0
| wconsd.c | ||
|---|---|---|
|
WORD i;
|
||
|
|
||
|
unsigned long zero=0;
|
||
|
fd_set set_read;
|
||
|
|
||
|
/* IAC WILL ECHO */
|
||
|
/* IAC WILL suppress go ahead */
|
||
| ... | ... | |
|
send_help(conn);
|
||
|
netprintf(conn,"> ");
|
||
|
|
||
|
FD_ZERO(&set_read);
|
||
|
while (conn->menuactive) {
|
||
|
FD_SET(conn->net,&set_read);
|
||
|
select(conn->net+1,&set_read,NULL,NULL,NULL);
|
||
|
size=recv(conn->net,(void*)&buf,BUFSIZE,0);
|
||
|
|
||
|
if (size==0) {
|
||
Also available in: Unified diff
Convert run_menu to not busy wait
It took me a while to notice, but the run_menu is written using
blocking file metaphor, but the socket it is working on is a non
blocking socket. This manifests itself with the run_menu loop
consuming most of the available CPU time