diff options
author | Marc G. Fournier <scrappy@hub.org> | 1997-12-30 04:01:28 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1997-12-30 04:01:28 +0000 |
commit | 8a0967a3b165803599b2bb39617bc55a1fcf52a0 (patch) | |
tree | e8afe838bac70250ce21a730bfb42aa7a63a9238 | |
parent | 3c1332e57397713a1ee258a33654755471493948 (diff) | |
download | postgresql-8a0967a3b165803599b2bb39617bc55a1fcf52a0.tar.gz postgresql-8a0967a3b165803599b2bb39617bc55a1fcf52a0.zip |
bring in alpha/linux s_lock changes
From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
-rw-r--r-- | src/backend/storage/buffer/Makefile | 5 | ||||
-rw-r--r-- | src/include/storage/s_lock.h | 27 |
2 files changed, 6 insertions, 26 deletions
diff --git a/src/backend/storage/buffer/Makefile b/src/backend/storage/buffer/Makefile index 63bfd30d562..177621a925a 100644 --- a/src/backend/storage/buffer/Makefile +++ b/src/backend/storage/buffer/Makefile @@ -4,7 +4,7 @@ # Makefile for storage/buffer # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/backend/storage/buffer/Makefile,v 1.5 1997/12/20 00:27:09 scrappy Exp $ +# $Header: /cvsroot/pgsql/src/backend/storage/buffer/Makefile,v 1.6 1997/12/30 04:01:25 scrappy Exp $ # #------------------------------------------------------------------------- @@ -15,7 +15,7 @@ INCLUDE_OPT = -I../.. CFLAGS+=$(INCLUDE_OPT) -OBJS = buf_table.o buf_init.o bufmgr.o freelist.o localbuf.o +OBJS = buf_table.o buf_init.o bufmgr.o freelist.o localbuf.o s_lock.o all: SUBSYS.o @@ -31,4 +31,3 @@ clean: ifeq (depend,$(wildcard depend)) include depend endif - diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 8089f2edff1..b59146d8c0d 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.13 1997/12/09 20:55:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.14 1997/12/30 04:01:28 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -313,28 +313,9 @@ tas_dummy() #if defined(__alpha__) && defined(linux) -#define S_LOCK(lock) do { \ - slock_t _res; \ - do { \ - __asm__(" ldq $0, %0 \n\ - bne $0, already_set%= \n\ - ldq_l $0, %0 \n\ - bne $0, already_set%= \n\ - or $31, 1, $0 \n\ - stq_c $0, %0 \n\ - beq $0, stqc_fail%= \n\ - success%=: \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"); \ - } while (_res != 0); \ - } while (0) - - -#define S_UNLOCK(lock) ({ __asm__("mb \n"); *(lock) = 0; }) +void S_LOCK(slock_t* lock); + +#define S_UNLOCK(lock) { __asm__("mb"); *(lock) = 0; } #define S_INIT_LOCK(lock) S_UNLOCK(lock) |