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
}