aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-05-05 16:01:50 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-05-05 16:01:50 +0000
commit2010a43fcb06ca762a3349e2be666a17a5863740 (patch)
tree9003fab5522dc43fab882430de9ec685562b2e93
parent8df5625966bce3a43d3a9a58654a673a8e13d0e6 (diff)
downloadpostgresql-2010a43fcb06ca762a3349e2be666a17a5863740.tar.gz
postgresql-2010a43fcb06ca762a3349e2be666a17a5863740.zip
Cope with case that SEM_FAILED is not defined (assume failure code is -1)
-rw-r--r--src/backend/port/posix_sema.c10
1 files 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);
}