Module: xenomai-forge Branch: master Commit: cace8219255801091993800064220fa12cd8ab82 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=cace8219255801091993800064220fa12cd8ab82
Author: Kim De Mey <kim.de...@gmail.com> Date: Mon Oct 21 16:09:00 2013 +0200 copperplate/threadobj: do not set __THREAD_S_SAFE when not needed Do not set __THREAD_S_SAFE for thobj->status when the priority of the task is lower than the priority of the current task. Signed-off-by: Kim De Mey <kim.de...@gmail.com> --- lib/copperplate/threadobj.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/copperplate/threadobj.c b/lib/copperplate/threadobj.c index 8aff287..a283b22 100644 --- a/lib/copperplate/threadobj.c +++ b/lib/copperplate/threadobj.c @@ -926,7 +926,7 @@ int threadobj_start(struct threadobj *thobj) /* thobj->lock held. */ if (thobj->status & __THREAD_S_STARTED) return 0; - thobj->status |= __THREAD_S_STARTED|__THREAD_S_SAFE; + thobj->status |= __THREAD_S_STARTED; __RT(pthread_cond_signal(&thobj->barrier)); if (current && thobj->priority <= current->priority) @@ -943,6 +943,7 @@ int threadobj_start(struct threadobj *thobj) /* thobj->lock held. */ */ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldstate); + thobj->status |= __THREAD_S_SAFE; wait_on_barrier(thobj, __THREAD_S_ACTIVE); thobj->status &= ~__THREAD_S_SAFE; _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git