diff --git a/src/backend/storage/buffer/s_lock.c b/src/backend/storage/buffer/s_lock.c index c50c9612bd..a7b42bc479 100644 --- a/src/backend/storage/buffer/s_lock.c +++ b/src/backend/storage/buffer/s_lock.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.11 1998/09/18 05:36:23 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/buffer/Attic/s_lock.c,v 1.12 1998/09/18 17:18:39 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -118,17 +118,6 @@ success: \n\ #endif /* PPC */ -#if defined(__ns32k__) -int -tas(volatile slock_t *lock) -{ - int res; - __asm__("sbitb 0, %0" : "=m"(*lock)); - __asm__("sprb us, %0" : "=r"(res)); - res = (res >> 5) & 1; - return res; -} -#endif #else /* defined(__GNUC__) */ /*************************************************************************** diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 967ec432cd..7b531fda72 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.48 1998/09/18 05:36:24 momjian Exp $ + * $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.49 1998/09/18 17:18:41 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -213,7 +213,22 @@ tas(slock_t *s_lock) #endif /* NEED_I386_TAS_ASM */ -/* NS32K code is in s_lock.c */ + +#if defined(NEED_NS32K_TAS_ASM) + +#define S_LOCK(lock) \ +{ \ + slock_t res = 1; \ + while (res) { \ + __asm__("movqd 0, r0"); \ + __asm__("sbitd r0, %0" : "=m"(*lock)); \ + __asm__("sprb us, %0" : "=r" (res)); \ + res = ((res >> 5) & 1); \ + } \ +} + +#endif /* NEED_NS32K_TAS_ASM */ + #endif /* defined(__GNUC__) */