[Xenomai-git] Jan Kiszka : nucleus: Fix relaxed owner check

2012-01-22 Thread GIT version control
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 
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 

---

 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


[Xenomai-git] Jan Kiszka : nucleus: Fix relaxed owner check

2012-01-19 Thread GIT version control
Module: xenomai-jki
Branch: for-upstream
Commit: 0ae08bda511359ff3ea891490cafeec6bab42639
URL:
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=0ae08bda511359ff3ea891490cafeec6bab42639

Author: Jan Kiszka 
Date:   Thu Jan 19 17:50:02 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 

---

 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 47bc0c5..8daf7f6 100644
--- a/ksrc/nucleus/synch.c
+++ b/ksrc/nucleus/synch.c
@@ -1004,7 +1004,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