On Tue, 3 Feb 2009, Chris Vine <[email protected]> wrote :
You can set the file descriptor returned by socket() non-blocking and poll it in the same way as you can poll the one returned by accept() (certainly you can do that with select() so I imagine you can do it with Glib::SignalIO which uses poll() under the hood). The callback will execute when there is a new connection pending and you can call accept() on the file descriptor and establish the client connection. This is the way you do it in single-threaded programs.
I've done that in the past, and it does work. ISTR there was some oddity but it was small and easily solved. Might depend whether you need to be able to accept multiple connections. Possibly something to do with making a new IOChannel for the accept()'d connection.
-- Rob Pearce http://www.bdt-home.demon.co.uk The contents of this | Windows NT crashed. message are purely | I am the Blue Screen of Death. my opinion. Don't | No one hears your screams. believe a word. | _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
