Destructor not guaranteed in m-blocks?

Hi all,

Is the destructor of classes instantiated in m-blocks not guaranteed
when using shutdown_all()?

  • George

On Wed, Jan 09, 2008 at 05:02:12PM -0500, George N. wrote:

Hi all,

Is the destructor of classes instantiated in m-blocks not guaranteed when
using shutdown_all()?

They should all be called. However, if an mblock is blocked in the
kernel we currently don’t blast it out of the system call, and thus
it won’t have its destructor called.

For more info, see the comment on line 183 of
mb_runtime_thread_per_block.cc

Eric

Thanks Eric.

If I place some output statements in the destructor and flush the output
stream, I never see the statements. If I set a breakpoint in the
destructor using GDB, the breakpoint is never reached. This is in the
top most block. I’ve tried it in several of the inband applications and
have yet to see the top level block’s destructor get called.

  • George

On Wed, Jan 09, 2008 at 05:25:38PM -0500, George N. wrote:

Thanks Eric.

If I place some output statements in the destructor and flush the output
stream, I never see the statements. If I set a breakpoint in the
destructor using GDB, the breakpoint is never reached. This is in the top
most block. I’ve tried it in several of the inband applications and have
yet to see the top level block’s destructor get called.

If you’re holding a reference to it, it won’t be destroyed…

Eric