Revision 89312c37
Added by Hamish Coleman over 16 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