Re: Race condition during Dispatcher deconstruction
- From: Chris Vine <chris cvine freeserve co uk>
- To: Matt Hoosier <matt hoosier gmail com>
- Cc: Daniel Elstner <daniel kitta googlemail com>, Gtkmm MailingList <gtkmm-list gnome org>
- Subject: Re: Race condition during Dispatcher deconstruction
- Date: Tue, 08 Jan 2008 01:25:34 +0000
On Tue, 2008-01-08 at 01:07 +0000, Chris Vine wrote:
> On Mon, 2008-01-07 at 08:43 -0600, Matt Hoosier wrote:
[snip]
> > I know that the DispatcherNotifier object attempts to avoid this by doing
> >
> > conn_io_handler_.disconnect()
> >
> > in its own destructor, but the crash inside pipe_io_handler() after
> > I'm certain that the destructor for the Dispatcher has run, makes me
> > wonder if this isn't really disconnecting the GIOChannel underneath.
>
> I cannot find conn_io_handler.disconnect() in the version of glibmm I
> have installed (2.14.1).
[snip]
Ah, it is in glibmm-2.6 that I have a tarball of here. That method is
invoked in the destructor of Glib::DispatchNotifier, because in that
version of glibmm, Glib:DispatchNotifier is not derived from
sigc::trackable. However that is not going to save you (any more than
sigc::trackable will) because as I have mentioned the
Glib::DispatchNotifier object appears to be a thread-local static
object, shared between all Glib::Dispatcher objects created in that
thread.
I am now definitely off to bed.
Chris
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]