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


Manual Reference Pages  -  PVM_PROBE (3)

NAME

pvm_probe - Check if message has arrived.

CONTENTS

Synopsis
Parameters
Description
Examples
Errors
See Also

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

DESCRIPTION

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.

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)
Search for    or go to Top of page |  Section 3 |  Main Index


PROBE (3PVM) 30 August, 1993

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