Newsgroups: comp.parallel.pvm
From: Andrea OMODEO <andrea@frodo.cra.enel.it>
Subject: pvm_nrecv() behavior
Organization: ENEL - Centro Ricerca di Automatica
Date: Tue, 20 Feb 1996 10:17:23 +0100
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Message-ID: <Pine.A32.3.91.960220100442.15620A-100000@frodo.cra.enel.it>


Using pvm 3.3.10 I've noticed a strange behavior for pvm_nrecv.
Suppose I have a sender task, alternating many pvm_send() calls with tag 
TAG1 and TAG2.

When all the sends are completed, the receiver task repeatedly calls
pvm_nrecv( -1, TAG1 ). What I see is that pvm_nrecv alternatively returns
0 (no message) and >0 (message received) even if the messages have surely
been received. It seems to me that, if the desired message isn't the first
in the receive queue, the first call to pvm_nrecv doesn't receive it at
all.
This behavoir is in contrast to what it's stated in the PVM book and 
causes many problems to my programs which are trying to do non-bloching 
out-of-order receives. It is also in contrast with the behavior of 
pvm_recv. Is it a bug or a feature?

I use pvm 3.3.10 under AIX 4.1.4 with the native IBM C compiler.
Thanks in advance,
	Andrea Omodeo

----------------------------------------------------------------------------
|Andrea Omodeo				e-mail: omodeo@cra.enel.it	   |
|ENEL - Centro Ricerca di Automatica		andrea@frodo.cra.enel.it   |
|v. Volta 1 - 20093 Cologno Monzese (MI) http://www.cra.enel.it/~andrea/   |
----------------------------------------------------------------------------


