struct pthread_attr *iattr = (struct pthread_attr *) attr;
int ret = 0;
- /* We have to handle cancellation in the following code since we are
- locking another threads desriptor. */
- pthread_cleanup_push ((void (*) (void *)) lll_unlock_wake_cb, &thread->lock);
-
lll_lock (thread->lock);
/* The thread library is responsible for keeping the values in the
lll_unlock (thread->lock);
- pthread_cleanup_pop (0);
-
return ret;
}
int result = 0;
- /* We have to handle cancellation in the following code since we are
- locking another threads descriptor. */
- pthread_cleanup_push ((void (*) (void *)) lll_unlock_wake_cb, &pd->lock);
-
lll_lock (pd->lock);
/* The library is responsible for maintaining the values at all
lll_unlock (pd->lock);
- pthread_cleanup_pop (0);
-
return result;
}
strong_alias (__pthread_getschedparam, pthread_getschedparam)
int result = 0;
- /* We have to handle cancellation in the following code since we are
- locking another threads desriptor. */
- pthread_cleanup_push ((void (*) (void *)) lll_unlock_wake_cb, &pd->lock);
-
lll_lock (pd->lock);
/* Try to set the scheduler information. */
lll_unlock (pd->lock);
- pthread_cleanup_pop (0);
-
return result;
}
strong_alias (__pthread_setschedparam, pthread_setschedparam)
struct sched_param param;
param.sched_priority = prio;
- /* We have to handle cancellation in the following code since we are
- locking another threads desriptor. */
- pthread_cleanup_push ((void (*) (void *)) lll_unlock_wake_cb, &pd->lock);
-
lll_lock (pd->lock);
/* Try to set the scheduler information. */
lll_unlock (pd->lock);
- pthread_cleanup_pop (0);
-
return result;
}