On Oct 24, 2012, at 9:41 AM, Roy Stogner <royst...@ices.utexas.edu> wrote:
> If we take that default argument away, every single Parallel call in > app code will have to be changed from something like > "Parallel::max(a)" into something like "Parallel::max(a, > mesh.get_libmesh().Communicator_World())", and that's a huge backwards > compatibility breakage to hit users with. Wait - no. I meant I was simply going to take the default argument away for development to find all the places *we* need to pass the proper communicator. I would not commit that change, only use it as a compile-time tool to find where we need to fix things (and therefore have a LibMeshInit object) passed... > Maybe we could play some tricks with the global LibMeshInit* target to > make extensions easier to debug? E.g. the first LibMeshInit object to > be constructed sets that target from NULL to "this", but then any > subsequent LibMeshInit objects set it back to NULL, so that if it ever > mistakenly gets used in a multi-LibMeshInit application the result is > an immediate and easily-diagnosed segfault rather than a subtle MPI > error/deadlock. Sure - I like that idea. -Ben ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel