From 2010a43fcb06ca762a3349e2be666a17a5863740 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 5 May 2002 16:01:50 +0000
Subject: [PATCH] Cope with case that SEM_FAILED is not defined (assume failure
 code is -1)

---
 src/backend/port/posix_sema.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/backend/port/posix_sema.c b/src/backend/port/posix_sema.c
index 2c32421e8d7..7b1613773d8 100644
--- a/src/backend/port/posix_sema.c
+++ b/src/backend/port/posix_sema.c
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/port/posix_sema.c,v 1.2 2002/05/05 01:03:26 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/port/posix_sema.c,v 1.3 2002/05/05 16:01:50 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -72,8 +72,14 @@ PosixSemaphoreCreate(void)
 
 		mySem = sem_open(semname, O_CREAT | O_EXCL,
 						 (mode_t) IPCProtection, (unsigned) 1);
+
+#ifdef SEM_FAILED
 		if (mySem != (sem_t *) SEM_FAILED)
 			break;
+#else
+		if (mySem != (sem_t *) (-1))
+			break;
+#endif
 
 		/* Loop if error indicates a collision */
 		if (errno == EEXIST || errno == EACCES || errno == EINTR)
@@ -82,7 +88,7 @@ PosixSemaphoreCreate(void)
 		/*
 		 * Else complain and abort
 		 */
-		fprintf(stderr, "PosixSemaphoreCreate: sem_open(%s) failed: %s\n",
+		fprintf(stderr, "PosixSemaphoreCreate: sem_open(\"%s\") failed: %s\n",
 				semname, strerror(errno));
 		proc_exit(1);
 	}
-- 
GitLab