Query the various fields of a pthread attribute and return the results in the specified buffer.
pthread debug library (libpthdebug.a)
#include <sys/pthdebug.h>
int pthdb_attr_detachstate (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_detachstate_t * detachstatep);
int pthdb_attr_addr (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_addr_t * addrp);
int pthdb_attr_guardsize (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_size_t * guardsizep);
int pthdb_attr_inheritsched (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_inheritsched_t * inheritschedp);
int pthdb_attr_schedparam (pthdb_session_t session,
pthdb_attr_t attr,
struct sched_param * schedparamp);
int pthdb_attr_schedpolicy (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_policy_t * schedpolicyp)
int pthdb_attr_schedpriority (pthdb_session_t session,
pthdb_attr_t attr,
int * schedpriorityp)
int pthdb_attr_scope (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_scope_t * scopep)
int pthdb_attr_stackaddr (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_size_t * stackaddrp);
int pthdb_attr_stacksize (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_size_t * stacksizep);
int pthdb_attr_suspendstate (pthdb_session_t session,
pthdb_attr_t attr,
pthdb_suspendstate_t * suspendstatep)
Each pthread is created using either the default pthread attribute or a user-specified pthread attribute. These functions query the various fields of a pthread attribute and, if successful, return the result in the buffer specified. In all cases, the values returned reflect the expected fields of a pthread created with the attribute specified.
pthdb_attr_detachstate reports if the created pthread is detachable (PDS_DETACHED) or joinable (PDS_JOINABLE). PDS_NOTSUP is reserved for unexpected results.
pthdb_attr_addr reports the address of the pthread_attr_t.
pthdb_attr_guardsize reports the guard size for the attribute.
pthdb_attr_inheritsched reports whether the created pthread will run with scheduling policy and scheduling parameters from the created pthread (PIS_INHERIT), or from the attribute (PIS_EXPLICIT). PIS_NOTSUP is reserved for unexpected results.
pthdb_attr_schedparam reports the scheduling parameters associated with the pthread attribute. See pthdb_attr_inheritsched for additional information.
pthdb_attr_schedpolicy reports whether the scheduling policy associated with the pthread attribute is other (SP_OTHER), first in first out (SP_FIFO), or round robin (SP_RR). SP_NOTSUP is reserved for unexpected results.
pthdb_attr_schedpriority reports the scheduling priority associated with the pthread attribute. See pthdb_attr_inheritsched for additional information.
pthdb_attr_scope reports whether the created pthread will have process scope (PS_PROCESS) or system scope (PS_SYSTEM). PS_NOTSUP is reserved for unexpected results.
pthdb_attr_stackaddr reports the address of the stack.
pthdb_attr_stacksize reports the size of the stack.
pthdb_attr_suspendstate reports whether the created pthread will be suspended (PSS_SUSPENDED) or not (PSS_UNSUSPENDED). PSS_NOTSUP is reserved for unexpected results.
Item | Description |
---|---|
addr | Attributes address. |
attr | Attributes handle. |
detachstatep | Detach state buffer. |
guardsizep | Attribute guard size. |
inheritschedp | Inherit scheduling buffer. |
schedparamp | Scheduling parameters buffer. |
schedpolicyp | Scheduling policy buffer. |
schedpriorityp | Scheduling priority buffer. |
scopep | Contention scope buffer. |
session | Session handle. |
stackaddrp | Attributes stack address. |
stacksizep | Attributes stack size. |
suspendstatep | Suspend state buffer. |
If successful these functions return PTHDB_SUCCESS. Otherwise, and error code is returned.
Item | Description |
---|---|
PTHDB_BAD_SESSION | Invalid session handle. |
PTHDB_BAD_ATTR | Invalid attribute handle. |
PTHDB_BAD_POINTER | Invalid buffer pointer. |
PTHDB_CALLBACK | Debugger call back error. |
PTHDB_NOTSUP | Not supported. |
PTHDB_INTERNAL | Internal library error. |