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

Author: Andreas Glatz <andreasgl...@ruggedcom.com>
Date:   Thu Nov 19 15:04:34 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 1a9bbb4..91de768 100644
--- a/ksrc/nucleus/synch.c
+++ b/ksrc/nucleus/synch.c
@@ -656,8 +656,10 @@ void xnsynch_requeue_sleeper(struct xnthread *thread)
                        __setbits(synch->status, XNSYNCH_CLAIMED);
                        insertpqf(&owner->claimq, &synch->link,
                                  w_cprio(thread));
-                       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


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

Reply via email to