Just to clarify -- you're only allowing one thread in a process into
the LAM library at a time, or you are using MPI_THREAD_SERIALIZED
(which effectively puts a big mutex around the MPI library), right?
There should be no problem with sending a message to the same process;
the only issues that you need to be aware of is that if you use a
blocking send, it may well actually block until a matching receive is
posted. Therefore, if you haven't previously posted a non-blocking
receive, the send could block indefinitely.
Can you define exactly what you mean by "lost"? Do you do a matching
receive and it is never satisfied? (I'm assuming you've double and
triple checked your application to ensure that all the send and receive
arguments are matched properly)
On Oct 29, 2004, at 5:26 AM, Simon wrote:
> I have a problem with using pthreads in lam proceses. I want to have
> one thread in every process to handle the communication (recieve
> incoming lam messages and re-direct them to proper queqes - one queqe
> for every thread of the process). The problem is that everything works
> ok only when i send the message from one process to another. When i
> try to
> send message to the same process, the message is lost. So, is there
> any possibility to send message to the same process?
--
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/
|