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

Author: Jan Kiszka <jan.kis...@siemens.com>
Date:   Thu Jan 19 17:56:46 2012 +0100

nucleus: Fix relaxed owner check

Fix a logic inversion introduced by b75cec1938. This both allows the
relaxed-owner check to work again and prevents that we enter an endless
signal storm if XNSWREP happens to be set already at this point (as seen
in the field).

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

---

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

diff --git a/ksrc/nucleus/synch.c b/ksrc/nucleus/synch.c
index a8e8b9b..695824e 100644
--- a/ksrc/nucleus/synch.c
+++ b/ksrc/nucleus/synch.c
@@ -1006,7 +1006,7 @@ EXPORT_SYMBOL_GPL(xnsynch_release_all_ownerships);
 void xnsynch_detect_relaxed_owner(struct xnsynch *synch, struct xnthread 
*sleeper)
 {
        if (xnthread_test_state(sleeper, XNTRAPSW) &&
-           xnthread_test_info(sleeper, XNSWREP) &&
+           !xnthread_test_info(sleeper, XNSWREP) &&
            xnthread_test_state(synch->owner, XNRELAX)) {
                xnthread_set_info(sleeper, XNSWREP);
                xnshadow_send_sig(sleeper, SIGDEBUG,


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

Reply via email to