Reports and changes the hold state of the specified pthread.
Library
pthread debug library (libpthdebug.a)
#include <sys/pthdebug.h> int pthdb_pthread_holdstate (pthdb_session_t session, pthdb_pthread_t pthread, pthdb_holdstate_t *holdstatep) int pthdb_pthread_hold (pthdb_session_t session, pthdb_pthread_t pthread) int pthdb_pthread_unhold (pthdb_session_t session, pthdb_pthread_t pthread)
pthdb_pthread_holdstate reports if a pthread is held. The possible hold states are PHS_HELD, PHS_NOTHELD, or PHS_NOTSUP.
pthdb_pthread_hold prevents the specified pthread from running.
pthdb_pthread_unhold unholds the specified pthread. The pthread held earlier can be unheld by calling this function.
Note: You must always use the pthdb_pthread_hold and pthdb_pthread_unhold functions, regardless of whether or not a pthread has a kernel thread.
session | Session handle. | |
pthread | pthread handle. The specified pthread should have an attached kernel thread id. | |
holdstatep | Pointer to the hold state |
If successful, pthdb_pthread_hold returns PTHDB_SUCCESS. Otherwise, it returns an error code.
PTHDB_BAD_PTHREAD | Invalid pthread handle. |
PTHDB_BAD_SESSION | Invalid session handle. |
PTHDB_HELD | pthread is held. |
PTHDB_INTERNAL | Error in library. |
These subroutines are part of the Base Operating System (BOS) Runtime.
The pthdebug.h file.