diff options
author | Bruce Momjian <bruce@momjian.us> | 1998-10-31 02:06:08 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1998-10-31 02:06:08 +0000 |
commit | 2e18525dbefc882c6749d91abb2c0d22d520b652 (patch) | |
tree | 42f713ef50537053c6606a5c430f65ea7bc05a21 /src | |
parent | 47ea32f7d4a6e968304eb12b9796b559f777f2d0 (diff) | |
download | postgresql-2e18525dbefc882c6749d91abb2c0d22d520b652.tar.gz postgresql-2e18525dbefc882c6749d91abb2c0d22d520b652.zip |
s_lock patch from Ryan.
Diffstat (limited to 'src')
-rw-r--r-- | src/include/storage/s_lock.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index aeb09cc4542..d47f5ab53b9 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.55 1998/10/28 15:58:34 momjian Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.56 1998/10/31 02:06:08 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -86,18 +86,18 @@ tas(volatile slock_t *lock) register slock_t _res; __asm__(" ldq $0, %0 \n\ - bne $0, already_set \n\ + bne $0, 3f \n\ ldq_l $0, %0 \n\ - bne $0, already_set \n\ + bne $0, 3f \n\ or $31, 1, $0 \n\ stq_c $0, %0 \n\ - beq $0, stqc_fail \n\ - success: bis $31, $31, %1 \n\ + beq $0, 2f \n\ + bis $31, $31, %1 \n\ mb \n\ - jmp $31, end \n\ - stqc_fail: or $31, 1, $0 \n\ - already_set: bis $0, $0, %1 \n\ - end: nop ": "=m"(*lock), "=r"(_res): :"0"); + jmp $31, 4f \n\ + 2: or $31, 1, $0 \n\ + 3: bis $0, $0, %1 \n\ + 4: nop ": "=m"(*lock), "=r"(_res): :"0"); return (int) _res; } |