Module: xenomai-2.4
Branch: master
Commit: f4be6cc2af75ba8f878fd3dcaa7017807677cafc
URL:    
http://git.xenomai.org/?p=xenomai-2.4.git;a=commit;h=f4be6cc2af75ba8f878fd3dcaa7017807677cafc

Author: Andreas Glatz <andreasgl...@ruggedcom.com>
Date:   Thu Nov 19 15:04:11 2009 +0100

nucleus: do not lose base priority in nested PIP boosts

---

 ksrc/nucleus/synch.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/ksrc/nucleus/synch.c b/ksrc/nucleus/synch.c
index a2f22ce..f4d65e8 100644
--- a/ksrc/nucleus/synch.c
+++ b/ksrc/nucleus/synch.c
@@ -326,8 +326,10 @@ void xnsynch_renice_sleeper(xnthread_t *thread)
                         * and boost the owner. */
                        __setbits(synch->status, XNSYNCH_CLAIMED);
                        insertpqf(&owner->claimq, &synch->link, thread->cprio);
-                       owner->bprio = owner->cprio;
-                       xnthread_set_state(owner, XNBOOST);
+                       if (!xnthread_test_state(owner, XNBOOST)) {
+                               owner->bprio = owner->cprio;
+                               xnthread_set_state(owner, XNBOOST);
+                       }
                }
                /* Renice the owner thread, progressing in the PI
                   chain as needed. */


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to