From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4F184B4E.9040505@domain.hid> Date: Thu, 19 Jan 2012 17:56:46 +0100 From: Jan Kiszka MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: [Xenomai-core] [PATCH] nucleus: Fix relaxed owner check List-Id: Xenomai life and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: xenomai-core 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, -- 1.7.3.4