From 980c14c526348b7b24ca74c6a94a396d5f0ab942 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 29 Oct 2004 21:10:51 +0000 Subject: [PATCH] (sem_timedwait): Set ETIMEDOUT to errno when time is up. Tweak to avoid assembler warning. --- nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S index 27a1bb019d..acb7d0f78b 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S +++ b/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S @@ -42,8 +42,10 @@ sem_timedwait: mov #0xf9, r1 and r1, r0 cmp/eq #8, r0 - bt 10f - + bf 0f + bra 10f + stc gbr, r0 +0: mov.l @r4, r0 2: tst r0, r0 @@ -115,7 +117,8 @@ sem_timedwait: add #-1, r2 5: cmp/pz r2 - bf 6f /* Time is already up. */ + bf/s 6f /* Time is already up. */ + mov #ETIMEDOUT, r0 /* Store relative timeout. */ mov.l r2, @r15 @@ -196,7 +199,6 @@ sem_timedwait: 10: /* Canceled. */ - stc gbr, r0 mov.w .Lresult, r1 mov #-1, r2 mov.l r2, @(r0,r1)