56 if (not pthread_equal(ThreadId, MainThreadId))
81 sched_param SchedulingParameter;
83 if (pthread_attr_init(&ThreadAttribute) != ATTRIBUTE_INIT_OK)
86 if (pthread_attr_setschedpolicy(&ThreadAttribute, SCHED_OTHER) !=
90 if (pthread_attr_setdetachstate(&ThreadAttribute,
91 PTHREAD_CREATE_JOINABLE) != ATTRIBUTE_SET_OK)
94 SchedulingParameter.sched_priority = 0;
95 if (pthread_attr_setschedparam(&ThreadAttribute,
96 &SchedulingParameter) != ATTRIBUTE_SET_OK)
99 if (pthread_attr_setinheritsched(&ThreadAttribute,
100 PTHREAD_EXPLICIT_SCHED) != ATTRIBUTE_SET_OK)
117 IgnoreValue(pthread_attr_destroy(&ThreadAttribute));
151 if (not pthread_equal(ThreadId, MainThreadId))
154 if (pthread_create(&ThreadId, &ThreadAttribute, ThreadFunction,
155 Argument) != THREAD_CREATE_OK)
176 if (pthread_equal(ThreadId, MainThreadId))
180 ThreadId = MainThreadId;
199 if (pthread_equal(ThreadId, MainThreadId))
202 if (pthread_join(ThreadId,
203 static_cast<void **
>(NULL)) != THREAD_JOIN_OK)
206 ThreadId = MainThreadId;