On Wed, 2007-10-24 at 09:00 +0200, Åke Sandgren wrote:
> Hi!
>         
> In common_mx.c the following looks wrong.
> ompi_common_mx_finalize(void)
> {
>     mx_return_t mx_return;
>     ompi_common_mx_initialize_ref_cnt--;
>     if(ompi_common_mx_initialize == 0) {
> 
> That should be
> if(ompi_common_mx_initialize_ref_cnt == 0)
> right?
> 

And there was a missing return too.
Complete ompi_common_mx_finalize should be
int
ompi_common_mx_finalize(void)
{
    mx_return_t mx_return;
    ompi_common_mx_initialize_ref_cnt--;
    if(ompi_common_mx_initialize_ref_cnt == 0) {
        mx_return = mx_finalize();
        if(mx_return != MX_SUCCESS){
            opal_output(0, "Error in mx_finalize (error %s)\n",
mx_strerror(mx_return));
            return OMPI_ERROR;
        }
    }
    return OMPI_SUCCESS;
}


Reply via email to