|
|
|
@ -63,7 +63,7 @@ |
|
|
|
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group |
|
|
|
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group |
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California |
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California |
|
|
|
* |
|
|
|
* |
|
|
|
* $Id: s_lock.h,v 1.97 2002/01/29 15:44:42 tgl Exp $ |
|
|
|
* $Id: s_lock.h,v 1.97.2.1 2002/09/30 20:24:53 tgl Exp $ |
|
|
|
* |
|
|
|
* |
|
|
|
*------------------------------------------------------------------------- |
|
|
|
*------------------------------------------------------------------------- |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
@ -217,6 +217,21 @@ tas(volatile slock_t *lock) |
|
|
|
#endif /* defined(__mc68000__) && defined(__linux__) */ |
|
|
|
#endif /* defined(__mc68000__) && defined(__linux__) */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(__ppc__) || defined(__powerpc__) |
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
* We currently use out-of-line assembler for TAS on PowerPC; see s_lock.c. |
|
|
|
|
|
|
|
* S_UNLOCK is almost standard but requires a "sync" instruction. |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
#define S_UNLOCK(lock) \ |
|
|
|
|
|
|
|
do \
|
|
|
|
|
|
|
|
{\
|
|
|
|
|
|
|
|
__asm__ __volatile__ (" sync \n"); \
|
|
|
|
|
|
|
|
*((volatile slock_t *) (lock)) = 0; \
|
|
|
|
|
|
|
|
} while (0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* defined(__ppc__) || defined(__powerpc__) */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(NEED_VAX_TAS_ASM) |
|
|
|
#if defined(NEED_VAX_TAS_ASM) |
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* VAXen -- even multiprocessor ones |
|
|
|
* VAXen -- even multiprocessor ones |
|
|
|
|