On Tue, Aug 4, 2015 at 12:15 PM, Martin Vymazal <[email protected]>
wrote:

> Hello,
>
>  I'm trying to create a small C++ class to wrap the 'Vec' object. This
> class
> has an internal pointer to a member variable of type Vec, and in its
> destructor, it calls VecDestroy. Unfortunately, my test program segfaults
> and
> this seems to be due to the fact that the destructor of the wrapper class
> is
> called after main() calls PetscFinalize(). Apparently VecDestroy performs
> some
> collective communication, so calling it after PetscFinalize() is too late.
> How
> can I fix this?
>

1) Declare your C++ in a scope, so that it goes out of scope before
PetscFinalize()

2) Is there any utility to this wrapper since everything can be called
directly from C++?

  Thanks,

     Matt


> Thank you,
>
>  Martin Vymazal
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

Reply via email to