Module: xenomai-3
Branch: next
Commit: c38f7e0b12af248980c09207ea7e5853c0898843
URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c38f7e0b12af248980c09207ea7e5853c0898843

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 d8b83d9..f3b70a2 100644
--- a/kernel/cobalt/synch.c
+++ b/kernel/cobalt/synch.c
@@ -949,8 +949,10 @@ bool 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 = true;
+       }
 
        xnlock_put_irqrestore(&nklock, s);
 


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

Reply via email to