Re: [Libmesh-devel] Should terminate_handler call MPI_Abort?

2013-08-21 Thread Roy Stogner
On Wed, 21 Aug 2013, John Peterson wrote: So... if the libmesh_terminate_handler gets called, it looks like it will eventually call std::terminate() Sure, unless the user hasn't already set_terminate() some replacement handler. That's what would have happened if the libmesh_terminate_handler

Re: [Libmesh-devel] Should terminate_handler call MPI_Abort?

2013-08-21 Thread John Peterson
On Wed, Aug 21, 2013 at 12:31 PM, Roy Stogner wrote: > > > On Wed, 21 Aug 2013, John Peterson wrote: > >> and if LibMeshInit's destructor detects an uncaught_exception, it >> could call std::terminate manually. > > > I don't know if manual std::terminate() is kosher, and it definitely > shouldn't

Re: [Libmesh-devel] Should terminate_handler call MPI_Abort?

2013-08-21 Thread Roy Stogner
On Wed, 21 Aug 2013, John Peterson wrote: On Wed, Aug 21, 2013 at 12:31 PM, Roy Stogner wrote: > > To fix the "no MPI Abort when the stack isn't unwound" case: Check > MPI_Initialized() in our terminate handler, call MPI_Abort() from > there if it's true? Looks like LibMeshInit's destructor c

Re: [Libmesh-devel] Should terminate_handler call MPI_Abort?

2013-08-21 Thread John Peterson
On Wed, Aug 21, 2013 at 2:25 PM, Roy Stogner wrote: > > On Wed, 21 Aug 2013, John Peterson wrote: > > On Wed, Aug 21, 2013 at 12:31 PM, Roy Stogner >> wrote: >> > >> > To fix the "no MPI Abort when the stack isn't unwound" case: Check >> > MPI_Initialized() in our terminate handler, call MPI_Abo