Skip to content
This repository was archived by the owner on Sep 30, 2022. It is now read-only.

Conversation

@hjelmn
Copy link
Member

@hjelmn hjelmn commented Aug 17, 2015

No description provided.

master commit open-mpi/ompi@b933eda

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
@hjelmn
Copy link
Member Author

hjelmn commented Aug 17, 2015

:bot:assign: @jsquyres

closes open-mpi/ompi#814

…unit info keys

master commit open-mpi/ompi@b8356da

:bot:assign: @jsquyres

closes open-mpi/ompi#814

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Symbols with "_" prefixes are supposed to be the domain of the compiler, not user functions.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only in the _[A-Z] case. _[a-z] is meant to designate file scope.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See C99 § 7.1.3 bullets 1-2. The first designates _[A-Z]* and __* as reserved. The second explicitly allows _[a-z]* for file-scoped identifiers.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I stand corrected!

👍

@jsquyres jsquyres added this to the v2.0.0 milestone Aug 17, 2015
@jsquyres
Copy link
Member

👍

@jsquyres
Copy link
Member

@hppritcha I think this is good to go

hppritcha added a commit that referenced this pull request Aug 17, 2015
@hppritcha hppritcha merged commit b672e5c into open-mpi:v2.x Aug 17, 2015
alex-mikheev pushed a commit to alex-mikheev/ompi-release that referenced this pull request Nov 11, 2015
This commit is related to an RFC from June 2014. Disscussion can be
found at:

http://www.open-mpi.org/community/lists/devel/2014/07/15140.php

The finalize function is set using either the linker option -fini or
__attribute__((destructor)) depending on compiler support. I have
confirmed that this hybrid approach works with all the major
compilers. The attribute is supported by gcc, clang, llvm, xlc, and
icc. The fini function will support pgi. If a compiler/linker
combination does not support either the destructor or fini function a
message will be printed on re-init indicating it is not supported (an
improvement over the current behavior-- SEGV).

I moved the following to the destructor function:

 - Class system finalize. This solves a bug when MPI_T_finalize is
   called before MPI_Init. The only downside to this change is we will
   leave the footprint of the opal class system after
   MPI_Finalize. This footprint should be relatively small.

This is an alternative to open-mpi#517 but the two PRs are not
mutually-exclusive (with some modifications). This commit should also
be safe for 1.8.x as it does not change internal or external ABI (open-mpi#517
changes internal ABI).

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
alinask pushed a commit to alinask/ompi-release that referenced this pull request Dec 10, 2015
opal/class: enable use of opal classes after opal_class_finalize
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants