Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SEND(3PVM)			 PVM Version 3.4		      SEND(3PVM)

NAME
     pvm_send - Immediately sends the data in the active message buffer.

SYNOPSIS
     C	  int info = pvm_send( int tid, int msgtag )

     Fortran   call pvmfsend( tid, msgtag, info )

PARAMETERS
     tid     Integer task identifier of destination process.

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

     info    Integer status code returned by the routine.

DESCRIPTION
     The  routine  pvm_send  sends a message stored in the active send buffer to
     the PVM process identified by tid.  msgtag is used to label the content  of
     the  message.  If pvm_send is successful, info will be 0. If some error oc-
     curs then info will be < 0.

     The pvm_send routine is asynchronous.  Computation on the sending processor
     resumes as soon as the message is	safely	on  its  way  to  the  receiving
     processor.   This is in contrast to synchronous communication, during which
     computation on the sending processor halts until the  matching  receive  is
     executed by the receiving processor.

     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, message A
     will arrive at task 2 before message B.  Moreover, if both messages  arrive
     before  task  2  does a receive, then a wildcard receive will always return
     message A.

     Terminating a PVM task immediately after sending a message or messages from
     it may result in those messages  being  lost.   To  be  sure,  always  call
     pvm_exit() before stopping.

EXAMPLES
     C:
	  info = pvm_initsend( PvmDataDefault );
	  info = pvm_pkint( array, 10, 1 );
	  msgtag = 3 ;
	  info = pvm_send( tid, msgtag );

     Fortran:
	  CALL PVMFINITSEND(PVMRAW, INFO)
	  CALL PVMFPACK( REAL8, DATA, 100, 1, INFO )
	  CALL PVMFSEND( TID, 3, INFO )

ERRORS
     These error conditions can be returned by pvm_send

     PvmBadParam
	    giving an invalid tid or a msgtag.

     PvmSysErr
	    pvmd not responding.

     PvmNoBuf
	    no active send buffer. Try pvm_initsend() before send.

SEE ALSO
     pvm_initsend(3PVM),   pvm_mcast(3PVM),   pvm_pack(3PVM),	pvm_psend(3PVM),
     pvm_recv(3PVM)

				 30 August, 1993		      SEND(3PVM)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pvmfsend&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help