summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavi <davi@13f79535-47bb-0310-9956-ffa450edef68>2007-06-29 15:04:43 +0000
committerdavi <davi@13f79535-47bb-0310-9956-ffa450edef68>2007-06-29 15:04:43 +0000
commitaf12e59c31426573328310fa75860e83829ee055 (patch)
tree2100718964cb1515cb0be68a1983299b0bd660c4
parentfed02dafabf5cb8ee44a07c4c583976440c81052 (diff)
downloadlibapr-af12e59c31426573328310fa75860e83829ee055.tar.gz
Merge revision 551917 from trunk:
Define SEM_FAILED if it isn't already defined, as the proc mutex code already does it. Also search for the sem_open function in the realtime library. git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/1.2.x@551918 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--CHANGES5
-rw-r--r--configure.in9
2 files changed, 14 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 5b8ec4480..6b1af54b9 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,10 @@
Changes for APR 1.2.10
+ *) Define SEM_FAILED if it isn't already defined, as the proc mutex
+ code already does it. Also search for the sem_open function in
+ the realtime library. (This fixes HP-UX sem_open detection).
+ [Davi Arnaut]
+
*) Define the _HPUX_SOURCE feature test macro to obtain maximum
functionality. PR 42261. [Davi Arnaut]
diff --git a/configure.in b/configure.in
index f6b3d078e..75ac520d0 100644
--- a/configure.in
+++ b/configure.in
@@ -1531,6 +1531,7 @@ echo "${nl}Checking for Locking..."
AC_CHECK_FUNCS(semget semctl flock)
AC_CHECK_HEADERS(semaphore.h OS.h)
+AC_SEARCH_LIBS(sem_open, rt)
AC_CHECK_FUNCS(sem_close sem_unlink sem_post sem_wait create_sem)
# Some systems return ENOSYS from sem_open.
@@ -1540,6 +1541,9 @@ AC_TRY_RUN([
#include <stdlib.h>
#include <fcntl.h>
#include <semaphore.h>
+#ifndef SEM_FAILED
+#define SEM_FAILED (-1)
+#endif
main()
{
sem_t *psem;
@@ -1550,6 +1554,11 @@ main()
exit(1);
}
sem_close(psem);
+ psem = sem_open(sem_name, O_CREAT | O_EXCL, 0644, 1);
+ if (psem != (sem_t *)SEM_FAILED) {
+ sem_close(psem);
+ exit(1);
+ }
sem_unlink(sem_name);
exit(0);
}], [ac_cv_func_sem_open=yes], [ac_cv_func_sem_open=no],