Module: xenomai-2.6 Branch: master Commit: de094a9e580511eb2dfdc0cee78bf92c959e2c55 URL: http://git.xenomai.org/?p=xenomai-2.6.git;a=commit;h=de094a9e580511eb2dfdc0cee78bf92c959e2c55
Author: Gilles Chanteperdrix <gilles.chanteperd...@xenomai.org> Date: Sun Jan 29 17:32:27 2012 +0100 posix: fix pthread_mutex_trylock in XNOTHER case --- src/skins/posix/mutex.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/skins/posix/mutex.c b/src/skins/posix/mutex.c index a295b15..a08a30d 100644 --- a/src/skins/posix/mutex.c +++ b/src/skins/posix/mutex.c @@ -296,13 +296,9 @@ int __wrap_pthread_mutex_trylock(pthread_mutex_t *mutex) xnhandle_t cur; cur = xeno_get_current(); - if (cur == XN_NO_HANDLE) + if (unlikely(cur == XN_NO_HANDLE)) return EPERM; - status = xeno_get_current_mode(); - if (unlikely(status & XNOTHER)) - goto do_syscall; - if (unlikely(cb_try_read_lock(&shadow->lock, s))) return EINVAL; @@ -311,6 +307,10 @@ int __wrap_pthread_mutex_trylock(pthread_mutex_t *mutex) goto out; } + status = xeno_get_current_mode(); + if (unlikely(status & XNOTHER)) + goto do_syscall; + if (unlikely(status & XNRELAX)) { do { err = XENOMAI_SYSCALL1(__xn_sys_migrate, _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git