SETRBUF(3PVM)

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.

DISCUSSION
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
setsbuf(3PVM)