PAPI_detach(3)

NAME
PAPI_detach -

Detach PAPI event set from previously specified thread id and restore to executing thread.

SYNOPSIS

Detailed Description

C Interface:
    #include <papi.h>
     int PAPI_detach( int EventSet, unsigned long tid );

PAPI_detach 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.

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

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

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

Author

Generated automatically by Doxygen for PAPI from the source code.