pvm_recv man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

RECV(3PVM)			PVM Version 3.4			    RECV(3PVM)

NAME
       pvm_recv - Receive a message.

SYNOPSIS
       C    int bufid = pvm_recv( int tid, int msgtag )

       Fortran	 call pvmfrecv( tid, msgtag, bufid )

PARAMETERS
       tid     Integer	task  identifier  of  sending  process supplied by the
	       user.

       msgtag  Integer message tag supplied by the user.  msgtag should be  >=
	       0.

       bufid   Integer	returns	 the  value  of	 the new active receive buffer
	       identifier.  Values less than zero indicate an error.

DESCRIPTION
       The routine pvm_recv blocks the process until a message with label msg‐
       tag  has	 arrived  from tid.  pvm_recv then places the message in a new
       active receive buffer, which also clears the current receive buffer.

       A -1 in msgtag or tid matches anything.	This allows the user the  fol‐
       lowing  options.	  If  tid = -1 and msgtag is defined by the user, then
       pvm_recv will accept a message from any process which  has  a  matching
       msgtag.	 If  msgtag = -1 and tid is defined by the user, then pvm_recv
       will accept any message that is sent from process tid.  If tid = -1 and
       msgtag = -1, then pvm_recv will accept any message from any process.

       The  PVM model guarantees the following about message order.  If task 1
       sends message A to task 2, then task 1 sends message B to task 2,  mes‐
       sage  A will arrive at task 2 before message B.	Moreover, if both mes‐
       sages arrive before task 2 does a receive, then a wildcard receive will
       always return message A.

       If  pvm_recv  is	 successful, bufid will be the value of the new active
       receive buffer identifier.  If some error occurs then bufid will	 be  <
       0.

       pvm_recv	 is  blocking  which  means  the routine waits until a message
       matching the user specified tid and msgtag values arrives at the	 local
       pvmd.  If the message has already arrived then pvm_recv returns immedi‐
       ately with the message.

       Once pvm_recv returns, the data in the message can be unpacked into the
       user's memory using the unpack routines.

EXAMPLES
       C:
	    tid = pvm_parent();
	    msgtag = 4 ;
	    bufid = pvm_recv( tid, msgtag );
	    info = pvm_upkint( tid_array, 10, 1 );
	    info = pvm_upkint( problem_size, 1, 1 );
	    info = pvm_upkfloat( input_array, 100, 1 );

       Fortran:
	    CALL PVMFRECV( -1, 4, BUFID )
	    CALL PVMFUNPACK( INTEGER4, TIDS, 25, 1, INFO )
	    CALL PVMFUNPACK( REAL8, MATRIX, 100, 100, INFO )

ERRORS
       These error conditions can be returned by pvm_recv

       PvmBadParam
	      giving an invalid tid value, or msgtag < -1.

       PvmSysErr
	      pvmd not responding.

SEE ALSO
       pvm_bufinfo(3PVM),	  pvm_getminfo(3PVM),	      pvm_nrecv(3PVM),
       pvm_unpack(3PVM), pvm_probe(3PVM), pvm_send(3PVM), pvm_mcast(3PVM)

				30 August, 1993			    RECV(3PVM)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net