65 struct sched_param schedparam;
67 pthread_getschedparam(
_threadID, &schedpolicy, &schedparam);
70 schedparam.sched_priority = priority;
71 pthread_setschedparam(
_threadID, schedpolicy, &schedparam);
132 pthread_attr_t newThreadAttr;
133 int schedpolicy, maxpri, minpri;
134 struct sched_param schedparam;
137 pthread_attr_init(&newThreadAttr);
138 #if defined(LINUX) || defined(OPSYS_SUN) || defined(AIX)
141 pthread_getschedparam(pthread_self(), &schedpolicy, &schedparam);
147 schedparam.sched_priority = 59;
149 # ifdef _POSIX_PRIORITY_SCHEDULING
150 maxpri = sched_get_priority_max(schedpolicy);
151 minpri = sched_get_priority_min(schedpolicy);
152 schedparam.sched_priority = (minpri + maxpri) / 2;
156 #if defined(OPSYS_SUN)
158 pthread_attr_setinheritsched(&newThreadAttr, PTHREAD_EXPLICIT_SCHED);
162 pthread_attr_setschedpolicy(&newThreadAttr, SCHED_RR);
167 pthread_attr_setinheritsched(&newThreadAttr, PTHREAD_EXPLICIT_SCHED);
173 pthread_attr_setschedpolicy(&newThreadAttr, SCHED_OTHER);
176 pthread_attr_setschedparam(&newThreadAttr, &schedparam);
187 fprintf(stderr,
" *** ERROR: At SysThread(), createThread - RC = %d !\n", rc);
189 pthread_attr_destroy(&newThreadAttr);
virtual void attachThread()
void setPriority(int priority)
bool equals(SysThread &other)
static void * call_thread_function(void *argument)