27 #ifdef EXTERNAL_TEMPLATES
48 PthreadBase(
void* (*entryFunc)(
void*),
void* arg = 0);
61 static pthread_t
Self(
void) {
return pthread_self(); }
64 static void Exit(
void* value) { pthread_exit(value); }
70 static int SendSignal(pthread_t thd,
int sig) {
return pthread_kill(thd, sig); }
71 static int Kill(pthread_t thd,
int sig) {
return pthread_kill(thd, sig); }
74 {
return pthread_sigmask(SIG_SETMASK, 0, oldSet); }
76 {
return pthread_sigmask(SIG_SETMASK, set, oldSet); }
78 {
return pthread_sigmask(SIG_BLOCK, set, oldSet); }
80 {
return pthread_sigmask(SIG_UNBLOCK, set, oldSet); }
97 #if defined(_POSIX_PRIORITY_SCHEDULING) || defined(_POSIX_THREAD_PRIORITY_SCHEDULING)
98 int SchedulePolicy(
void);
99 int SchedulePriority(
void);
101 static void Yield(
void) { sched_yield(); }
104 #ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
110 void GetScheduleParams(
int& policy,
int& priority);
111 void SetScheduleParams(
int policy,
int priority);
117 #ifdef _POSIX_PRIORITY_SCHEDULING
118 int PriorityMax(
void) {
return sched_get_priority_max(SchedulePolicy()); }
119 int PriorityMin(
void) {
return sched_get_priority_min(SchedulePolicy()); }
121 static int PriorityMax(
int policy) {
return sched_get_priority_max(policy); }
122 static int PriorityMin(
int policy) {
return sched_get_priority_min(policy); }
static int UnblockSignals(const sigset_t *set, sigset_t *oldSet=0)
static void Exit(void *value)
int operator==(pthread_t t2)
static int CancelEnable(void)
static int CancelDeferred(void)
static int Kill(pthread_t thd, int sig)
static void TestCancel(void)
static int SendSignal(pthread_t thd, int sig)
static int CancelDisable(void)
static int GetSignalMask(sigset_t *oldSet)
static pthread_t Self(void)
static int CancelAsynchronous(void)
static int SetSignalMask(const sigset_t *set, sigset_t *oldSet=0)
static int BlockSignals(const sigset_t *set, sigset_t *oldSet=0)