|
Boost : |
From: Neal Coombes (nealc_at_[hidden])
Date: 2004-12-08 10:35:16
Neal Coombes wrote:
> I'm having a horrible time with a small example program :)
>
> In the meantime, I thought I'd post a backtrace. I doubt it will help
> much, but maybe someone more familiar than I with the signal library
> will have a clue as to where I might look more carefully.
In addition, looking through the stack:
#2 0x08351f4d in boost::_bi::list1<boost::_bi::value<MetaContractPres*>
>::operator()<boost::_mfi::mf0<void, MetaContractPres>,
boost::_bi::list1<MetaContract*&> > (this=0x8587c28, f=@0x8587c20,
a=@0x8046104)
at /opt/app/boost_1_32_0/include/boost-1_32/boost/bind.hpp:228
228 unwrap(&f, 0)(a[a1_]);
(gdb) p f
$3 = (mf0<void,MetaContractPres> &) @0x8587c20: {f_ = {__pfn = invalid
pointer to member function
The destructor for MetaContractPres is called, the destructor for it's
base class trackable is called. I can't tell why the signal is not
disconnecting (otherwise you'd have the example program by now :)
Everything works fine if I disconnect from all signals manually. Is it
possible that some of the trackable's connections aren't controlling??
In case it helps:
uname -a
SunOS dusty 5.9 Generic_112234-08 i86pc i386 i86pc
(ie. solaris 2.9 intel)
gcc --version
gcc (GCC) 3.3.2
ld -V
ld: Software Generation Utilities - Solaris Link Editors: 5.9-1.381
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk