- /* receive info */
- for(channel=0;channel<MAX_CONNECTIONS;channel++)
- if(ivac->net.connection[channel].status&C_ESTABL)
- if(FD_ISSET(ivac->net.connection[channel].fd,&(event->rfds)))
- ivac_receive_info(channel,ivac);
+ /* wait for user info */
+ for(channel=0;channel<MAX_CONNECTIONS;channel++) {
+ if(ivac->net.connection[channel].status&C_ESTABL) {
+ /* remote is sending info */
+ if(FD_ISSET(ivac->net.connection[channel].fd,&(event->rfds))) {
+ if(ivac_receive_info(channel,ivac)==0) {
+ event_math(ivac->net.connection[channel].fd,event,READ,REMOVE);
+ network_close(&(ivac->net),channel);
+ sprintf(c_str,"channel %02d: broken pipe - disconnected",channel);
+ ivac_add_to_monitor(ivac,c_str);
+ }
+ ivac_display_content(ivac);
+ }
+ }
+ }