NAME¶
pvm_setrbuf - Switches the active receive buffer and saves the previous buffer.
SYNOPSIS¶
C int oldbuf = pvm_setrbuf( int bufid )
Fortran call pvmfsetrbuf( bufid, oldbuf )
PARAMETERS¶
- bufid
- Integer specifying the message buffer identifier for the new active
receive buffer.
- oldbuf
- Integer returning the message buffer identifier for the previous active
receive buffer.
DESCRIPTION¶
The routine
pvm_setrbuf switches the active receive buffer to
bufid and saves the previous active receive buffer
oldbuf. If
bufid is set to 0 then the present active receive buffer is saved and
no active receive buffer exists.
A successful receive automatically creates a new active receive buffer. If a
previous receive has not been unpacked and needs to be saved for later, then
the previous bufid can be saved and reset later to the active buffer for
unpacking.
The routine is required when managing multiple message buffers. For example
switching back and forth between two buffers. One buffer could be used to send
information to a graphical interface while a second buffer could be used send
data to other tasks in the application.
EXAMPLES¶
C:
rbuf1 = pvm_setrbuf( rbuf2 );
Fortran:
CALL PVMFSETRBUF( NEWBUF, OLDBUF )
ERRORS¶
These error conditions can be returned by
pvm_setrbuf
- PvmBadParam
- giving an invalid bufid.
- PvmNoSuchBuf
- switching to a non-existent message buffer.
SEE ALSO¶
pvm_setsbuf(3PVM)