Move common lock code to their own section.
This commit is contained in:
parent
a93f397423
commit
550f209797
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.38 1998/07/18 14:51:10 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.39 1998/07/18 14:58:58 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -170,39 +170,6 @@ tas(volatile slock_t *lock)
|
|||||||
* All non gcc
|
* All non gcc
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined (nextstep)
|
|
||||||
/*
|
|
||||||
* NEXTSTEP (mach)
|
|
||||||
* slock_t is defined as a struct mutex.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define S_LOCK(lock) mutex_lock(lock)
|
|
||||||
#define S_UNLOCK(lock) mutex_unlock(lock)
|
|
||||||
#define S_INIT_LOCK(lock) mutex_init(lock)
|
|
||||||
/* For Mach, we have to delve inside the entrails of `struct mutex'. Ick! */
|
|
||||||
#define S_LOCK_FREE(alock) ((alock)->lock == 0)
|
|
||||||
#endif /* nextstep */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(__sgi)
|
|
||||||
/*
|
|
||||||
* SGI IRIX 5
|
|
||||||
* slock_t is defined as a struct abilock_t, which has a single unsigned long
|
|
||||||
* member.
|
|
||||||
*
|
|
||||||
* This stuff may be supplemented in the future with Masato Kataoka's MIPS-II
|
|
||||||
* assembly from his NECEWS SVR4 port, but we probably ought to retain this
|
|
||||||
* for the R3000 chips out there.
|
|
||||||
*/
|
|
||||||
#define TAS(lock) (!acquire_lock(lock))
|
|
||||||
#define S_UNLOCK(lock) release_lock(lock)
|
|
||||||
#define S_INIT_LOCK(lock) init_lock(lock)
|
|
||||||
#define S_LOCK_FREE(lock) (stat_lock(lock) == UNLOCKED)
|
|
||||||
#endif /* __sgi */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(__alpha)
|
#if defined(__alpha)
|
||||||
/*
|
/*
|
||||||
* OSF/1 (Alpha AXP)
|
* OSF/1 (Alpha AXP)
|
||||||
@ -218,23 +185,9 @@ tas(volatile slock_t *lock)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(_AIX)
|
|
||||||
/*
|
|
||||||
* AIX (POWER)
|
|
||||||
*
|
|
||||||
* Note that slock_t on POWER/POWER2/PowerPC is int instead of char
|
|
||||||
* (see storage/ipc.h).
|
|
||||||
*/
|
|
||||||
#define TAS(lock) cs((int *) (lock), 0, 1)
|
|
||||||
#endif /* _AIX */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(NEED_I386_TAS_ASM)
|
#if defined(NEED_I386_TAS_ASM)
|
||||||
/* non gcc i386 based things */
|
/* non gcc i386 based things */
|
||||||
|
|
||||||
|
|
||||||
#if defined(USE_UNIVEL_CC)
|
#if defined(USE_UNIVEL_CC)
|
||||||
#define TAS(lock) tas(lock)
|
#define TAS(lock) tas(lock)
|
||||||
|
|
||||||
@ -253,11 +206,16 @@ tas(slock_t *s_lock)
|
|||||||
}
|
}
|
||||||
#endif /* USE_UNIVEL_CC */
|
#endif /* USE_UNIVEL_CC */
|
||||||
|
|
||||||
|
|
||||||
#endif /* NEED_I386_TAS_ASM */
|
#endif /* NEED_I386_TAS_ASM */
|
||||||
|
|
||||||
|
|
||||||
#endif /* else defined(__GNUC__) */
|
#endif /* defined(__GNUC__) */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* These are the platforms that have common code for gcc and non-gcc
|
||||||
|
*/
|
||||||
|
|
||||||
#if defined(__hpux)
|
#if defined(__hpux)
|
||||||
/*
|
/*
|
||||||
@ -277,6 +235,50 @@ static const slock_t clear_lock =
|
|||||||
#endif /* __hpux */
|
#endif /* __hpux */
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(__sgi)
|
||||||
|
/*
|
||||||
|
* SGI IRIX 5
|
||||||
|
* slock_t is defined as a struct abilock_t, which has a single unsigned long
|
||||||
|
* member.
|
||||||
|
*
|
||||||
|
* This stuff may be supplemented in the future with Masato Kataoka's MIPS-II
|
||||||
|
* assembly from his NECEWS SVR4 port, but we probably ought to retain this
|
||||||
|
* for the R3000 chips out there.
|
||||||
|
*/
|
||||||
|
#define TAS(lock) (!acquire_lock(lock))
|
||||||
|
#define S_UNLOCK(lock) release_lock(lock)
|
||||||
|
#define S_INIT_LOCK(lock) init_lock(lock)
|
||||||
|
#define S_LOCK_FREE(lock) (stat_lock(lock) == UNLOCKED)
|
||||||
|
#endif /* __sgi */
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(_AIX)
|
||||||
|
/*
|
||||||
|
* AIX (POWER)
|
||||||
|
*
|
||||||
|
* Note that slock_t on POWER/POWER2/PowerPC is int instead of char
|
||||||
|
* (see storage/ipc.h).
|
||||||
|
*/
|
||||||
|
#define TAS(lock) cs((int *) (lock), 0, 1)
|
||||||
|
#endif /* _AIX */
|
||||||
|
|
||||||
|
|
||||||
|
#if defined (nextstep)
|
||||||
|
/*
|
||||||
|
* NEXTSTEP (mach)
|
||||||
|
* slock_t is defined as a struct mutex.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define S_LOCK(lock) mutex_lock(lock)
|
||||||
|
#define S_UNLOCK(lock) mutex_unlock(lock)
|
||||||
|
#define S_INIT_LOCK(lock) mutex_init(lock)
|
||||||
|
/* For Mach, we have to delve inside the entrails of `struct mutex'. Ick! */
|
||||||
|
#define S_LOCK_FREE(alock) ((alock)->lock == 0)
|
||||||
|
#endif /* nextstep */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Default Definitions - override these above as needed.
|
* Default Definitions - override these above as needed.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user