1
1

MPI_Init_thread is used in place of MPI_Init, so for the checkpoint/restart functionality it must correctly init the C/R functionality instead of simply making a critical section. This allows the C/R thread to be started properly.

Thanks to Takayuki Seki for finding this bug.

This commit was SVN r24194.
Этот коммит содержится в:
Josh Hursey 2010-12-29 15:37:30 +00:00
родитель 3d517c0285
Коммит 0b514e234b

Просмотреть файл

@ -9,6 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2010 Oak Ridge National Labs. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -75,8 +76,6 @@ int MPI_Init_thread(int *argc, char ***argv, int required,
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_OTHER, FUNC_NAME);
}
OPAL_CR_ENTER_LIBRARY();
/* Call the back-end initialization function (we need to put as
little in this function as possible so that if it's profiled, we
don't lose anything) */
@ -87,7 +86,7 @@ int MPI_Init_thread(int *argc, char ***argv, int required,
err = ompi_mpi_init(0, NULL, required, provided);
}
OPAL_CR_EXIT_LIBRARY();
OPAL_CR_INIT_LIBRARY();
/* Since we don't have a communicator to invoke an errorhandler on
here, don't use the fancy-schmancy ERRHANDLER macros; they're