Module: xenomai-head Branch: master Commit: 7c32d5ba3af8923f542f0c6c112864a73041acd8 URL: http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=7c32d5ba3af8923f542f0c6c112864a73041acd8
Author: Philippe Gerum <r...@xenomai.org> Date: Sat Oct 16 13:21:59 2010 +0200 nucleus: fix race in xnpod_set_thread_tslice() --- ksrc/nucleus/pod.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ksrc/nucleus/pod.c b/ksrc/nucleus/pod.c index 2297b74..f5326bd 100644 --- a/ksrc/nucleus/pod.c +++ b/ksrc/nucleus/pod.c @@ -3077,11 +3077,13 @@ int xnpod_set_thread_tslice(struct xnthread *thread, xnticks_t quantum) int aperiodic; spl_t s; - if (thread->base_class->sched_tick == NULL) - return -EINVAL; - xnlock_get_irqsave(&nklock, s); + if (thread->base_class->sched_tick == NULL) { + xnlock_put_irqrestore(&nklock, s); + return -EINVAL; + } + aperiodic = !xntbase_periodic_p(xnthread_time_base(thread)); thread->rrperiod = quantum; thread->rrcredit = quantum; _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git