Module: xenomai-jki Branch: for-upstream Commit: f1dfda551b6997f74141986759932e2723a9f024 URL: http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=f1dfda551b6997f74141986759932e2723a9f024
Author: Jan Kiszka <jan.kis...@siemens.com> Date: Tue Mar 2 13:17:35 2010 +0100 Native: Fix return code of in-kernel rt_cond_wait[_until] In rt_cond_wait_inner, do not let rt_cond_wait_epilogue overwrite the primary error code of rt_cond_wait_prologue. This restores the in-kernel semantics of rt_cond_wait[_until] that were valid before 97323b3287. Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> --- ksrc/skins/native/cond.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ksrc/skins/native/cond.c b/ksrc/skins/native/cond.c index 10727d1..2dc0069 100644 --- a/ksrc/skins/native/cond.c +++ b/ksrc/skins/native/cond.c @@ -472,10 +472,10 @@ static int rt_cond_wait_inner(RT_COND *cond, RT_MUTEX *mutex, err = rt_cond_wait_prologue(cond, mutex, &lockcnt, timeout_mode, timeout); - if(!err || err == -ETIMEDOUT || err == -EINTR) - do { - err = rt_cond_wait_epilogue(mutex, lockcnt); - } while (err == -EINTR); + if (!err || err == -ETIMEDOUT || err == -EINTR) { + while (rt_cond_wait_epilogue(mutex, lockcnt) == -EINTR) + ; /* empty */ + } return err; } _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git