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
diff --git a/auto/configure b/auto/configure
index 8ee1c80..8ef3a9a 100755
--- a/auto/configure
+++ b/auto/configure
@@ -53,6 +53,7 @@
if [ "$NGX_PLATFORM" != win32 ]; then
. auto/os/features
. auto/threads
+ . auto/unix
fi
. auto/modules
@@ -99,10 +100,6 @@
. auto/lib/make
. auto/install
-if [ "$NGX_PLATFORM" != win32 ]; then
- . auto/unix
-fi
-
# STUB
. auto/stubs
diff --git a/auto/unix b/auto/unix
index 669314b..502c27e 100755
--- a/auto/unix
+++ b/auto/unix
@@ -246,6 +246,19 @@
. 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