mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Fix for S_FREE_LOCK.
This commit is contained in:
		@@ -7,7 +7,7 @@
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 * IDENTIFICATION
 | 
			
		||||
 *	  $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.5 1997/09/22 18:14:25 momjian Exp $
 | 
			
		||||
 *	  $Header: /cvsroot/pgsql/src/include/storage/s_lock.h,v 1.6 1997/09/24 23:37:26 momjian Exp $
 | 
			
		||||
 *
 | 
			
		||||
 *-------------------------------------------------------------------------
 | 
			
		||||
 */
 | 
			
		||||
@@ -55,6 +55,8 @@
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	mutex_init(lock)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
 /* S_LOCK_FREE should return 1 if lock is free; 0 if lock is locked */
 | 
			
		||||
/* For Mach, we have to delve inside the entrails of `struct mutex'.  Ick! */
 | 
			
		||||
#define	S_LOCK_FREE(alock)	((alock)->lock == 0)
 | 
			
		||||
@@ -133,6 +135,8 @@ static int	tas(slock_t *lock);
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	S_UNLOCK(lock)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
#endif							/* i86pc_solaris || sparc_solaris */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -154,6 +158,8 @@ static int	tas(slock_t *lock);
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	S_UNLOCK(lock)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
#endif							/* aix */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -205,6 +211,8 @@ static int	tas(slock_t *lock);
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	S_UNLOCK(lock)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
static int
 | 
			
		||||
tas_dummy()
 | 
			
		||||
{
 | 
			
		||||
@@ -287,6 +295,8 @@ tas_dummy()
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(addr)	(*(addr) = 0)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
#endif							/* NEED_SPARC_TAS_ASM */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
@@ -308,6 +318,8 @@ tas_dummy()
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	S_UNLOCK(lock)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
#endif							/* NEED_I386_TAS_ASM */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -339,6 +351,8 @@ tas_dummy()
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	S_UNLOCK(lock)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
#endif							/* defined(__alpha__) && defined(linux) */
 | 
			
		||||
 | 
			
		||||
#if defined(linux) && defined(sparc)
 | 
			
		||||
@@ -358,6 +372,8 @@ tas_dummy()
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	S_UNLOCK(lock)
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
#endif							/* defined(linux) && defined(sparc) */
 | 
			
		||||
 | 
			
		||||
#if defined(linux) && defined(PPC)
 | 
			
		||||
@@ -391,12 +407,10 @@ success:		\n\
 | 
			
		||||
 | 
			
		||||
#define	S_INIT_LOCK(lock)	S_UNLOCK(lock)
 | 
			
		||||
 | 
			
		||||
#endif							/* defined(linux) && defined(PPC) */
 | 
			
		||||
 | 
			
		||||
#else							/* HAS_TEST_AND_SET */
 | 
			
		||||
 | 
			
		||||
#define S_LOCK_FREE(lock)		((*lock) == 0)
 | 
			
		||||
 | 
			
		||||
#endif							/* defined(linux) && defined(PPC) */
 | 
			
		||||
 | 
			
		||||
#endif							/* HAS_TEST_AND_SET */
 | 
			
		||||
 | 
			
		||||
#endif							/* S_LOCK_H */ 
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user