NAME

PAPI_destroy_eventset, PAPI_cleanup_eventset - empty and destroy an EventSet

CONTENTS

Synopsis
Description
Arguments
Return Values
Errors
Examples
Bugs
See Also

SYNOPSIS

C Interface

#include <papi.h> 

int PAPI_cleanup_eventset(int EventSet); 

int PAPI_destroy_eventset(int *EventSet); 

Fortran Interface

#include fpapi.h 

PAPIF_cleanup_eventset(C_INT EventSet, C_INT check) 

PAPIF_destroy_eventset(C_INT EventSet, C_INT check) 

DESCRIPTION

PAPI_cleanup_eventset() removes all events from a PAPI event set and turns off profiling and overflow for all events in the eventset. This can not be called if the EventSet is not stopped.

PAPI_destroy_eventset() deallocates the memory associated with an empty PAPI event set.

ARGUMENTS

EventSet -- an integer handle for a PAPI event set as created by PAPI_create_eventset (3).

*EventSet -- a pointer to the integer handle for a PAPI event set as created by PAPI_create_eventset (3). The value pointed to by EventSet is then set to PAPI_NULL on success.

RETURN VALUES

On success, this function returns PAPI_OK.
On error, a non-zero error code is returned.

ERRORS

PAPI_EINVAL
  One or more of the arguments is invalid. Attempting to destroy a non-empty event set or passing in a null pointer to be destroyed.
PAPI_ENOEVST
  The EventSet specified does not exist.
PAPI_EISRUN
  The EventSet is currently counting events.
PAPI_EBUG
  Internal error, send mail to ptools-perfapi@ptools.org and complain.

EXAMPLES


/* Remove all events in the eventset */

if (PAPI_cleanup_eventset(EventSet) != PAPI_OK) handle_error(1);

/* Free all memory and data structures, EventSet must be empty. */

if (PAPI_destroy_eventset(&EventSet) != PAPI_OK) handle_error(1);

BUGS

If the user has set profile on an event with the PAPI_profil (3) call, then when destroying the EventSet the memory allocated by PAPI_profil (3) will not be freed. The user should turn off profiling on the Events before destroying the EventSet to prevent this behavior.

SEE ALSO

PAPI_create_eventset (3), PAPI_add_event (3), PAPI_stop (3), PAPI_profil (3)


PAPI Programmer’s Reference PAPI_destroy_eventset (3) September, 2004

  Innovative Computing Laboratory
2001 R&D Winner  
Contact PAPI: papi@cs.utk.edu Computer Science Department
  University of Tennessee