sem_t stopper;
struct sched_param param;
int p = 0;
+ frsh_thread_attr_t updated_attr;
sem_init(&stopper, 0, 0);
wp.vres = vres;
wp.stopper = &stopper;
- pthread_attr_getschedparam(attr, ¶m);
+ pthread_attr_getschedparam(thread_attr, ¶m);
p = param.sched_priority;
printf("priority = %d\n", p);
if (p == 0) {
+ updated_attr = *thread_attr;
param.sched_priority = 1;
- pthread_attr_setschedparam(attr, ¶m);
- pthread_attr_getschedparam(attr, ¶m);
+ pthread_attr_setschedparam(&updated_attr, ¶m);
+ pthread_attr_getschedparam(&updated_attr, ¶m);
printf("changed priority = %d\n", param.sched_priority);
- pthread_attr_setinheritsched(attr, PTHREAD_EXPLICIT_SCHED);
- pthread_attr_setschedpolicy(attr, SCHED_RR);
- pthread_attr_setscope(attr, PTHREAD_SCOPE_SYSTEM);
+ pthread_attr_setinheritsched(&updated_attr, PTHREAD_EXPLICIT_SCHED);
+ pthread_attr_setschedpolicy(&updated_attr, SCHED_RR);
+ pthread_attr_setscope(&updated_attr, PTHREAD_SCOPE_SYSTEM);
+ thread_attr = &updated_attr;
}
/* create the wrapper thread */
- rv = fosa_thread_create(thread, attr, wrapper_pthread, (void*)&wp);
+ rv = fosa_thread_create(thread, thread_attr, wrapper_pthread, (void*)&wp);
if (rv != 0)
return(rv);