ompi_proc_finalize has an interesting side effect. A proc is
inserted in the ompi_proc_list as soon as it is created and it
is removed only upon the call to the destructor. In ompi_proc_finalize
we loop over all procs in ompi_proc_finalize and release them once.
However, as a proc is not removed from this list right away, we
decrease the ref count for each proc until it reach zero and the
proc is finally removed. Thus, we cannot clean the BML/BTL after
the call the ompi_proc_finalize.
A quick fix is to delay the call to ompi_proc_finalize until all
other frameworks have been finalized, and then the behavior
depicted above will give the expected outcome.
Fix a subtle bug in the convertor where the lb of the datatype
can be added twice (for partially packed datatypes). Thanks to
the Fujitsu's MPI development team for the bug report and the
patch.
Add a resized datatype to the test. Implement generic
data corectness for most of the conversion functions.
Merge branch 'master' of github.com:open-mpi/ompi