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

FreeBSD Manual Pages

  
 
  

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

NAME
     pvm_probe - Check if message has arrived.

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

     Fortran   call pvmfprobe( 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  returning the value of the new active receive buffer iden-
	     tifier.  Values less than zero indicate an error.

DESCRIPTION
     The routine pvm_probe checks to see if a message with label msgtag has  ar-
     rived  from  tid.	 If  a	matching message has arrived pvm_probe returns a
     buffer identifier in bufid.  This bufid can be used with pvm_bufinfo to de-
     termine information about the message such as its source and length.

     If the requested message has not arrived, then pvm_probe returns with  a  0
     in bufid.	If some error occurs bufid will be < 0.

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

     pvm_probe can be called multiple times to check if a given message has  ar-
     rived  yet.  After  the message has arrived, pvm_recv must be called before
     the message can be unpacked into the user's memory using  the  unpack  rou-
     tines.

EXAMPLES
     C:
	  tid = pvm_parent();
	  msgtag = 4 ;
	  arrived = pvm_probe( tid, msgtag );
	  if ( arrived )
	       info = pvm_bufinfo( arrived, &len, &tag, &tid );
	  else
	       /* go do other computing */

     Fortran:
	  CALL PVMFPROBE( -1, 4, ARRIVED )
	  IF ( ARRIVED .GT. 0 ) THEN
	       CALL PVMFBUFINFO( ARRIVED, LEN, TAG, TID, INFO )
	  ELSE
     *	       GO DO USEFUL WORK
	  ENDIF

ERRORS
     These error conditions can be returned by pvm_probe.

     PvmBadParam
	    giving an invalid tid value or msgtag.

     PvmSysErr
	    pvmd not responding.

SEE ALSO
     pvm_bufinfo(3PVM),   pvm_getminfo(3PVM),  pvm_nrecv(3PVM),  pvm_recv(3PVM),
     pvm_unpack(3PVM)

				 30 August, 1993		     PROBE(3PVM)

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

home | help