The weekend's hacking on s_lock.h broke it for all platforms that
need non-default definitions of S_UNLOCK or S_INIT_LOCK (hpux,
alpha, a couple others). Someone put unconditional definitions
of those macros at the bottom of the file. I suspect this was a
plain old editing typo, but perhaps the intent was to put such
definitions in one of the platform-specific #if blocks? (If so,
they were unnecessary anyway.) Anyhow, the attached patch fixes
it for hpux.
regards, tom lane
*** src/include/storage/s_lock.h.orig Mon Jul 20 12:05:59 1998
--- src/include/storage/s_lock.h Mon Jul 20 13:04:49 1998
***************
*** 323,332 ****
#define TAS(lock) tas((volatile slock_t *) lock)
#endif /* TAS */
- #define S_UNLOCK(lock) (*(lock) = 0)
-
- #define S_INIT_LOCK(lock) S_UNLOCK(lock)
-
#endif /* HAS_TEST_AND_SET */
#endif /* S_LOCK_H */
--- 323,328 ----