On Tue, 2007-05-29 at 22:42 +0100, Robert Pearce wrote: > On Tue, 29 May 2007, Jonathan Winterflood > <jonathan.winterflood@xxxxxxxxx> wrote : > > > >A question arises, though: is it possible that the channel will recieve > >the last of the data between the > >time g_io_channel_read_chars returns G_IO_STATUS_AGAIN and the callbac > >k exits, and that the callback will not be called again? > > I don't think so, but given that somebody posted "from experience" that > the callback is reentrant (which I didn't think was possible) perhaps > I'm wrong. On the other hand, I've written code that assumes both > non-reentrant and that any extra data arriving during the callback will > result in it being called again, and I've never hit a problem. A GIOWatch function is definitly not reentrant, a mainloop runs in a single thread, you could have set up a mainloop and GMainContext to handle a mainloop in a second thread, even there your GIOWatch callback will not be reentrant. This document describes what the mainloop does: http://developer.gnome.org/doc/API/2.0/glib/glib-The-Main-Event-Loop.html Cheers, -Tristan _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list