[mpich-discuss] Stuck in MPI_Comm_disconnect

Eric Hui Eric.Hui at ggy.com
Thu Nov 24 16:20:50 CST 2011


Hi,

I have a master-worker program where both the master and the worker use 3 MPI_Requests in a loop.  2 of them are used in MPI_Send_Init and MPI_Recv_Init and the other one is used for MPI_Isend.  There is a loop in a separate thread that keeps calling MPI_Start for the MPI_Request used for MPI_Recv_Init  and MPI_Waitsome for the incoming messages.

At the end of my code, I believed that I have already cleaned up my MPI_Request properly by using the following:

   if (SendRequest != MPI_REQUEST_NULL)
   {
      MPI_Cancel (&SendRequest);
   }

   if (SendHeaderRequest != MPI_REQUEST_NULL) //This one is used for MPI_Send_Init
   {
      MPI_Request_free (&SendHeaderRequest);
   }

   if (ReceiveHeaderRequest != MPI_REQUEST_NULL) //This one is used for MPI_Recv_Init
   {
      MPI_Request_free (&ReceiveHeaderRequest);
   }

I have output to show that these functions are already called and succeeded.

After this code, I call MPI_Comm_disconnect, so that I can call MPI_Finalize exit the worker process without exiting the master.

However, it's stuck in the MPI_Comm_disconnect call.  Are there functions that allow me to check what are the outstanding operations on the MPI_Comm?

Eric Hui
GGY AXIS
416-2503448
Eric.Hui at ggy.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20111124/e77ecb4e/attachment.htm>


More information about the mpich-discuss mailing list