Module: xenomai-jki
Branch: for-forge
Commit: aed17e71a13608562fc84549777fc79bdb2c1fc7
URL:    
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=aed17e71a13608562fc84549777fc79bdb2c1fc7

Author: Jan Kiszka <jan.kis...@siemens.com>
Date:   Mon May  9 21:22:23 2016 +0200

cobalt/kernel: Trigger missing reschedule after PP deboost

xnsynch_release also needs to tell the caller about the potential need
for a reschedule after deboosting for prio-protection.

Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>

---

 kernel/cobalt/synch.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/cobalt/synch.c b/kernel/cobalt/synch.c
index d9fb5a2..43b8ea4 100644
--- a/kernel/cobalt/synch.c
+++ b/kernel/cobalt/synch.c
@@ -948,8 +948,10 @@ int xnsynch_release(struct xnsynch *synch, struct xnthread 
*curr)
        else if (h != currh)    /* FLCEIL set, FLCLAIM clear. */
                atomic_set(lockp, XN_NO_HANDLE);
 
-       if (synch->status & XNSYNCH_PP)
+       if (synch->status & XNSYNCH_PP) {
                clear_pp_boost(synch, curr);
+               need_resched = 1;
+       }
 
        xnlock_put_irqrestore(&nklock, s);
 


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

Reply via email to