Ah, that satisfied it!

Sorry for the chase - I'll update my test.


On May 28, 2014, at 7:55 AM, Gilles Gouaillardet 
<gilles.gouaillar...@gmail.com> wrote:

> Ralph,
> 
> what if ?
> 
> the parent :
> MPI_Comm_free(&merged);
> MPI_Comm_disconnect(&comm);
> 
> and the child
> MPI_Comm_free(&merged);
> MPI_Comm_disconnect(&parent);
> 
> Gilles
>  
> Good point - however, that doesn't fix it. Changing the Comm_free calls to 
> Comm_disconnect results in the same error messages when the parent finalizes:
> 
> Parent:
>     MPI_Init( &argc, &argv);
> 
>     for (iter = 0; iter < 100; ++iter) {
>         MPI_Comm_spawn(EXE_TEST, NULL, 1, MPI_INFO_NULL,
>                        0, MPI_COMM_WORLD, &comm, &err);
>         printf("parent: MPI_Comm_spawn #%d return : %d\n", iter, err);
> 
>         MPI_Intercomm_merge(comm, 0, &merged);
>         MPI_Comm_rank(merged, &rank);
>         MPI_Comm_size(merged, &size);
>         printf("parent: MPI_Comm_spawn #%d rank %d, size %d\n", 
>                iter, rank, size);
>         MPI_Comm_disconnect(&merged);
>     }
> 
>     MPI_Finalize();
> 
> 
> Child:
>     MPI_Init(&argc, &argv);   
>     printf("Child: launch\n");
>     MPI_Comm_get_parent(&parent);   
>     MPI_Intercomm_merge(parent, 1, &merged);
>     MPI_Comm_rank(merged, &rank);
>     MPI_Comm_size(merged, &size);
>     printf("Child merged rank = %d, size = %d\n", rank, size);
>    
>     MPI_Comm_disconnect(&merged);
>     MPI_Finalize();
> 
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2014/05/14896.php

Reply via email to