[Xenomai-git] Jan Kiszka : nucleus: Fix relaxed owner check
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
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