[MPICH] pthread_kill(thread,SIGSTOP) is killing the whole process instead of killing the thread

Guillaume Mercier mercierg at mcs.anl.gov
Thu Nov 23 03:27:48 CST 2006


Hello,

On Thu, 23 Nov 2006, Ravi ravi wrote:

> My application uses threads in MPI programs. And I don't need a thread-safe
> version of MPI here because we dont share any data to operate from threads.
> My thread is doing some receiving operation like this
> MPI_Recv(.................);

My guess is that as soon as you make a call to MPI_Recv within a thread,
you have to use a MPI version that can handle threads.
Making calls to the MPI library within a thread and without specifying
a thread level (eg. MPI_THREAD_SERIALIZED, MPI_THREAD_MULTIPLE, etc.)
is likely NOT to work.
For instance, if two threads concurrent calls to MPI_Recv, you will
have troubles, because both  calls are going to access the queues
that handle message reception. Without proper thread support, it is
highly probable that the queues state will therefore be inconsistent.

If you use threads that do not make any calls to the MPI library, then
you may use a non thread-safe version of MPI.

Regards,

Guillaume Mercier




More information about the mpich-discuss mailing list