changeset 3931:c8884c8f7c74

Support POSIX semaphores on Linux. This configure test must run before auto/make, because it adds library. auto/unix was placed after auto/make just for historical reasons. Patch by Denis F. Latypoff
author Igor Sysoev <igor@sysoev.ru>
date Tue, 31 May 2011 08:17:27 +0000
parents ace14fd91086
children 3b608ddcb8ce
files auto/configure auto/unix
diffstat 2 files changed, 14 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/auto/configure
+++ b/auto/configure
@@ -53,6 +53,7 @@ fi
 if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/os/features
     . auto/threads
+    . auto/unix
 fi
 
 . auto/modules
@@ -99,10 +100,6 @@ have=NGX_HTTP_SCGI_TEMP_PATH value="\"$N
 . auto/lib/make
 . auto/install
 
-if [ "$NGX_PLATFORM" != win32 ]; then
-    . auto/unix
-fi
-
 # STUB
 . auto/stubs
 
--- a/auto/unix
+++ b/auto/unix
@@ -246,6 +246,19 @@ ngx_feature_test="sem_t  sem;
 . auto/feature
 
 
+if [ $ngx_found = no ]; then
+
+    # Linux has POSIX semaphores in libpthread
+    ngx_feature="POSIX semaphores in libpthread"
+    ngx_feature_libs=-lpthread
+    . auto/feature
+
+    if [ $ngx_found = yes ]; then
+        CORE_LIBS="$CORE_LIBS -lpthread"
+    fi
+fi
+
+
 ngx_feature="struct msghdr.msg_control"
 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL"
 ngx_feature_run=no