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.
Notes:
- You must always use the pthdb_pthread_hold and pthdb_pthread_unhold functions, regardless of whether or not a pthread has a kernel thread.
- These functions are only supposted when the PTHDB_FLAG_HOLD is set.
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 pthdb_session_setflags subroutine.
The pthdebug.h file.
The pthread.h file.