Invalid timeouts in SH sem_timedwait.

We adjusted nwaiters even though this isn't necessary.
This commit is contained in:
Thomas Schwinge 2012-03-08 10:45:05 +01:00
parent 48aff7765b
commit c564a81246
2 changed files with 8 additions and 4 deletions

View File

@ -1,5 +1,8 @@
2012-03-08 Thomas Schwinge <thomas@codesourcery.com>
* sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait): Fix
updating nwaiters.
* tst-sem13.c (do_test): Add another test case.
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait):
Fix updating nwaiters.

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2003, 2004, 2007, 2011 Free Software Foundation, Inc.
/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -69,8 +69,8 @@ sem_timedwait:
mov.l @(4,r9), r0
mov.l .L1g, r1
cmp/hs r1, r0
bt/s 6f
mov #EINVAL, r0
bt/s .Lerrno_exit
mov #EINVAL, r10
INC (@(NWAITERS,r8),r2)
7:
@ -168,6 +168,8 @@ sem_timedwait:
neg r0, r0
6:
mov r0, r10
DEC (@(NWAITERS,r8), r2)
.Lerrno_exit:
mova .Lgot2, r0
mov.l .Lgot2, r12
add r0, r12
@ -182,7 +184,6 @@ sem_timedwait:
.long errno@GOTTPOFF
.Lexit:
mov.l r10, @r0
DEC (@(NWAITERS,r8), r2)
bra 10b
mov #-1, r0