pm_get_program_thread Subroutine

Purpose

Retrieves the Performance Monitor settings for a target thread.

Library

Performance Monitor APIs Library (libpmapi.a)

Syntax

#include <pmapi.h>

int pm_get_program_thread ( pid,  tid,  *prog)
pid_t pid;
tid_t tid;
pm_prog_t *prog;

Description

This subroutine supports only the 1:1 threading model. It has been superseded by the pm_get_program_pthread subroutine, which supports both the 1:1 and the M:N threading models. A call to this subroutine is equivalent to a call to the pm_get_program_pthread subroutine with a ptid parameter equal to 0.

The pm_get_program_thread subroutine retrieves the Performance Monitor settings for a target kernel thread. The thread must be stopped and must be part of a debuggee process under the control of the calling process. This includes mode information and the events being counted, which are in a list of event identifiers. The identifiers come from the lists returned by the pm_init subroutine.

The counting mode includes user mode and kernel mode, and the current counting state.

If the list includes an event which can be used with a threshold (as indicated by the pm_init subroutine), a threshold value is also returned.

Parameters

Item Description
pid Process identifier of the target thread. The target process must be an argument of a debug process.
tid Thread identifier of the target thread.
*prog Returns which Performance Monitor events and modes are set. Supported modes are:
PM_USER
Counting processes running in User mode
PM_KERNEL
Counting processes running in Kernel mode
PM_COUNT
Counting is On

Return Values

Item Description
0 No errors occurred.
Positive error code Refer to the pm_error Subroutine to decode the error code.

Error Codes

Refer to the pm_error Subroutine.

Files

Item Description
/usr/include/pmapi.h Defines standard macros, data types, and subroutines.