void SocketSet::private_test_dump_active_sets( int maxfd, fd_set& read_before, fd_set& read_after, fd_set& write_before, fd_set& write_after ) { #if 0 // Causes compile errors and I'm too lazy to figure it out at the moment. std::ostringstream str_r; std::ostringstream str_w; str_r << " *** read set: "; str_w << " *** write set: "; for( int i=0; i<maxfd; i++ ) { if( FD_ISSET( i, &read_before ) ) { if( FD_ISSET( i, &read_after ) ) str_r << i << "(!) "; else str_r << i << " "; } else if( FD_ISSET( i, &read_after ) ) { str_r << "(?>>" << i << "<<?)"; } if( FD_ISSET( i, &write_before ) ) { if( FD_ISSET( i, &write_after ) ) str_w << i << "(!) "; else str_w << i << " "; } else if( FD_ISSET( i, &write_after ) ) { str_w << "(?>>" << i << "<<?)"; } } str_r << ends; str_w << ends; std::ostringstream ostr_r; std::ostringstream ostr_w; ostr_r << " *** read fds tested: "; ostr_w << " *** write fds tested: "; for( Set::iterator it = _autoset.begin(); it != _autoset.end(); it++ ) { VsnetSocketBase* b = (*it); int fd = b->get_fd(); if( fd >= 0 ) { if( FD_ISSET(fd,&read_after) ) { ostr_r << b->get_socktype() << " "; } } fd = b->get_write_fd(); if( fd >= 0 ) { if( FD_ISSET(fd,&write_after) ) { ostr_w << "+" << b->get_socktype() << " "; } } } #ifndef USE_NO_THREAD if( FD_ISSET( _thread_wakeup.getread(), &read_after ) ) { ostr_r << _thread_wakeup.getread() << "(pipe)"; } #endif ostr_r << ends; ostr_w << ends; COUT << "select saw activity:" << endl << str_r.str() << endl << str_w.str() << endl << ostr_r.str() << endl << ostr_w.str() << endl; #endif }