diff --git a/src/backend/storage/buffer/Makefile b/src/backend/storage/buffer/Makefile index 63bfd30d562d715b7acfb89904999e31611b50d4..177621a925a5c970db3c204d952f4ff001828a40 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 8089f2edff18c7c193ad60b611eb9c2638b94093..b59146d8c0d524167b392a39a61940a879533eec 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)