From: Bruce Momjian Date: Fri, 18 Sep 1998 17:18:41 +0000 (+0000) Subject: NS32K lock patch reversed. X-Git-Tag: REL9_0_0~26542 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=4a9da7e5c4c1f8aeb281d3fe6d3527564574b2cb;p=pg-rex%2Fsyncrep.git NS32K lock patch reversed. --- 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__) */