diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-05-05 16:01:50 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-05-05 16:01:50 +0000 |
commit | 2010a43fcb06ca762a3349e2be666a17a5863740 (patch) | |
tree | 9003fab5522dc43fab882430de9ec685562b2e93 | |
parent | 8df5625966bce3a43d3a9a58654a673a8e13d0e6 (diff) | |
download | postgresql-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.c | 10 |
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); } |