FREEBUF(3PVM)							FREEBUF(3PVM)

NAME
  pvm_freebuf -	Disposes of a message buffer.

SYNOPSIS
  C	  int info = pvm_freebuf( int bufid )

  Fortran call pvmffreebuf( bufid, info	)

PARAMETERS

  bufid	  Integer message buffer identifier.

  info	  Integer status code returned by the routine.	Values less than zero
	  indicate an error.

DISCUSSION
  The routine pvm_freebuf frees	the memory associated with the message buffer
  identified by	bufid. Message buffers are created by pvm_mkbuf,
  pvm_initsend,	and pvm_recv.  If pvm_freebuf is successful, info will be 0.
  If some error	occurs then info will be < 0.

  pvm_freebuf can be called for	a send buffer created by pvm_mkbuf after the
  message has been sent	and is no longer needed.

  Receive buffers typically do not have	to be freed unless they	have been
  saved	in the course of using multiple	buffers.  But pvm_freebuf can be used
  to destroy receive buffers as	well.  So messages that	arrive but are no
  longer needed	can be destroyed so they will not consume buffer space.

  Typically multiple send and receive buffers are not needed and the user can
  simply use the pvm_initsend routine to reset the default send	buffer.

  There	are several cases where	multiple buffers are useful.  One example
  where	multiple message buffers are needed involves libraries or graphical
  interfaces that use PVM and interact with a running PVM application but do
  not want to interfere	with the application's own communication.

  When multiple	buffers	are used they generally	are made and freed for each
  message that is packed.  In fact, pvm_initsend simply	does a pvm_freebuf
  followed by a	pvm_mkbuf for the default buffer.

EXAMPLES
  C:
	  bufid	= pvm_mkbuf( PvmDataDefault );
		:
	  info = pvm_freebuf( bufid );

  Fortran:
	  CALL PVMFMKBUF( PVMDEFAULT, BUFID )
		:
	  CALL PVMFFREEBUF( BUFID, INFO	)

ERRORS
  These	error conditions can be	returned by pvm_freebuf
       PvmBadParam    giving an	invalid	argument value.
       PvmNoSuchBuf   giving an	invalid	bufid value.

SEE ALSO
  pvm_mkbuf(3PVM), pvm_initsend(3PVM), pvm_recv(3PVM)


Back to the alphabetical listing
Back to the listing of routines for sending and receiving messages