Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V5.0.x: Avoid static initialization of recursive mutexes #12057

Merged
merged 2 commits into from
Nov 10, 2023

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 <[email protected]>
(cherry picked from commit ad4c825)
The only remaining statically initialized recursive mutex has now
support for the constructor attribute.

Signed-off-by: George Bosilca <[email protected]>
(cherry picked from commit 787dd7b)
@github-actions github-actions bot added this to the v5.0.1 milestone Nov 10, 2023
@janjust janjust merged commit 44a7845 into open-mpi:v5.0.x Nov 10, 2023
10 checks passed
lrbison added 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 <[email protected]>
lrbison added 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 <[email protected]>
(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 <[email protected]>
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