Module: xenomai-2.6 Branch: master Commit: 851281e593d89573edec063fe02c913e425f121b URL: http://git.xenomai.org/?p=xenomai-2.6.git;a=commit;h=851281e593d89573edec063fe02c913e425f121b
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Sun Jan 13 13:51:22 2013 +0100 posix/native: do not increment resource counter for recursive mutexes --- ksrc/skins/native/mutex.c | 2 -- ksrc/skins/posix/mutex.c | 7 ++++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ksrc/skins/native/mutex.c b/ksrc/skins/native/mutex.c index a0761d6..9ee40f5 100644 --- a/ksrc/skins/native/mutex.c +++ b/ksrc/skins/native/mutex.c @@ -366,8 +366,6 @@ int rt_mutex_acquire_inner(RT_MUTEX *mutex, RTIME timeout, thread = xnpod_current_thread(); if (xnsynch_owner_check(&mutex->synch_base, thread) == 0) { - if (xnthread_test_state(thread, XNOTHER)) - xnthread_inc_rescnt(thread); mutex->lockcnt++; return 0; } diff --git a/ksrc/skins/posix/mutex.c b/ksrc/skins/posix/mutex.c index 221ffb5..3414340 100644 --- a/ksrc/skins/posix/mutex.c +++ b/ksrc/skins/posix/mutex.c @@ -428,8 +428,11 @@ int pthread_mutex_trylock(pthread_mutex_t *mx) } #endif /* !CONFIG_XENO_FASTSYNCH */ - if (likely(!err)) + if (likely(!err)) { + if (xnthread_test_state(cur, XNOTHER) && !err) + xnthread_inc_rescnt(cur); shadow->lockcnt = 1; + } else if (err == EBUSY) { pse51_mutex_t *mutex = shadow->mutex; @@ -442,8 +445,6 @@ int pthread_mutex_trylock(pthread_mutex_t *mx) } } } - if (xnthread_test_state(cur, XNOTHER) && !err) - xnthread_inc_rescnt(cur); unlock_and_return: cb_read_unlock(&shadow->lock, s); _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git