GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PROBE(3PVM) PVM Version 3.4 PROBE(3PVM)

pvm_probe - Check if message has arrived.

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

Fortran call pvmfprobe( tid, msgtag, bufid )

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 identifier. Values less than zero indicate an error.

The routine pvm_probe checks to see if a message with label msgtag has arrived 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 determine 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 msgtag = -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 arrived 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 routines.

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

These error conditions can be returned by pvm_probe.
PvmBadParam
giving an invalid tid value or msgtag.
PvmSysErr
pvmd not responding.

pvm_bufinfo(3PVM), pvm_getminfo(3PVM), pvm_nrecv(3PVM), pvm_recv(3PVM), pvm_unpack(3PVM)
30 August, 1993

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.