Skip to content

Conversation

janjust
Copy link
Contributor

@janjust janjust commented Nov 10, 2023

There is no portable way to statically initialize recursive mutexes. Where possible avoid doing so, and where not possible add a specialized constructor (thanks @eschnett for the patch).

Fixes #12029.

There is no portable way to statically initialize recursive mutexes.
Where possible avoid doing so, and where not possible add a specialized
__constructor__ (thanks @eschnett for the patch).

Fixes open-mpi#12029.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
(cherry picked from commit ad4c825)
The only remaining statically initialized recursive mutex has now
support for the constructor attribute.

Signed-off-by: George Bosilca <bosilca@icl.utk.edu>
(cherry picked from commit 787dd7b)
@janjust janjust requested review from lrbison and wenduwan November 10, 2023 15:32
@github-actions github-actions bot added this to the v5.0.1 milestone Nov 10, 2023
@jsquyres jsquyres requested review from bosilca and devreal November 10, 2023 18:32
@janjust janjust merged commit 44a7845 into open-mpi:v5.0.x Nov 10, 2023
lrbison pushed a commit to lrbison/ompi that referenced this pull request Feb 20, 2024
Previously it was in component_init, but after
open-mpi#12057 I noticed MPI finalize
would find an uninitialized object and segfault.  This change moves
the initialization to component_open, so that component_close() can
rely on the opal object initialization having been completed.

Signed-off-by: Luke Robison <lrbison@amazon.com>
lrbison pushed a commit to lrbison/ompi that referenced this pull request Feb 24, 2024
Previously it was in component_init, but after
open-mpi#12057 I noticed MPI finalize
would find an uninitialized object and segfault.  This change moves
the initialization to component_open, so that component_close() can
rely on the opal object initialization having been completed.

Signed-off-by: Luke Robison <lrbison@amazon.com>
(cherry picked from commit 5ff314c)
jiaxiyan pushed a commit to jiaxiyan/ompi that referenced this pull request Mar 1, 2024
Previously it was in component_init, but after
open-mpi#12057 I noticed MPI finalize
would find an uninitialized object and segfault.  This change moves
the initialization to component_open, so that component_close() can
rely on the opal object initialization having been completed.

Signed-off-by: Luke Robison <lrbison@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants