PAPI  5.3.2.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
PAPI_attach Class Reference

Attach PAPI event set to the specified thread id. More...

Detailed Description

@par C Interface:
\#include <papi.h> @n
int PAPI_attach( int EventSet, unsigned long tid );

PAPI_attach is a wrapper function that calls PAPI_set_opt to allow PAPI to 
monitor performance counts on a thread other than the one currently executing. 
This is sometimes referred to as third party monitoring. 
PAPI_attach connects the specified EventSet to the specifed thread;
PAPI_detach breaks that connection and restores the EventSet to the 
original executing thread. 

@param EventSet 
    An integer handle for a PAPI EventSet as created by PAPI_create_eventset.
@param tid 
    A thread id as obtained from, for example, PAPI_list_threads or PAPI_thread_id.

@retval PAPI_ECMP 
    This feature is unsupported on this component.
@retval PAPI_EINVAL 
    One or more of the arguments is invalid.
@retval PAPI_ENOEVST 
    The event set specified does not exist.
@retval PAPI_EISRUN 
    The event set is currently counting events. 

@par Examples:
* int EventSet = PAPI_NULL;
* unsigned long pid;
* pid = fork( );
* if ( pid <= 0 )
* exit( 1 );
* if ( PAPI_create_eventset( &EventSet ) != PAPI_OK )
* exit( 1 );
* // Add Total Instructions Executed to our EventSet
* if ( PAPI_add_event( EventSet, PAPI_TOT_INS ) != PAPI_OK )
* exit( 1 );
* // Attach this EventSet to the forked process
* if ( PAPI_attach( EventSet, pid ) != PAPI_OK )
* exit( 1 );
*
See Also
PAPI_set_opt
PAPI_list_threads
PAPI_thread_id
PAPI_thread_init

The documentation for this class was generated from the following file: