summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--auto/headers2
-rw-r--r--src/os/unix/ngx_posix_config.h15
-rw-r--r--src/os/unix/ngx_process_cycle.c8
3 files changed, 25 insertions, 0 deletions
diff --git a/auto/headers b/auto/headers
index 29eec60ab..d41d95a75 100644
--- a/auto/headers
+++ b/auto/headers
@@ -6,3 +6,5 @@ ngx_include="unistd.h"; . auto/include
ngx_include="inttypes.h"; . auto/include
ngx_include="limits.h"; . auto/include
ngx_include="sys/filio.h"; . auto/include
+ngx_include="crypt.h"; . auto/include
+ngx_include="malloc.h"; . auto/include
diff --git a/src/os/unix/ngx_posix_config.h b/src/os/unix/ngx_posix_config.h
index f79657654..49c3c4d6c 100644
--- a/src/os/unix/ngx_posix_config.h
+++ b/src/os/unix/ngx_posix_config.h
@@ -19,6 +19,12 @@
#endif
+#ifdef __CYGWIN__
+#define timezonevar /* timezone is variable */
+#define NGX_BROKEN_SCM_RIGHTS 1
+#endif
+
+
#include <sys/types.h>
#include <sys/time.h>
#if (NGX_HAVE_UNISTD_H)
@@ -64,6 +70,15 @@
#include <limits.h> /* IOV_MAX */
#endif
+#if (NGX_HAVE_MALLOC_H)
+#include <malloc.h> /* memalign() */
+#endif
+
+#if (NGX_HAVE_CRYPT_H)
+#include <crypt.h>
+#endif
+
+
#ifndef IOV_MAX
#define IOV_MAX 16
#endif
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
index 4705f3951..631597ef4 100644
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -409,6 +409,12 @@ ngx_signal_worker_processes(ngx_cycle_t *cycle, int signo)
ngx_err_t err;
ngx_channel_t ch;
+#if (NGX_BROKEN_SCM_RIGHTS)
+
+ ch.command = 0;
+
+#else
+
switch (signo) {
case ngx_signal_value(NGX_SHUTDOWN_SIGNAL):
@@ -427,6 +433,8 @@ ngx_signal_worker_processes(ngx_cycle_t *cycle, int signo)
ch.command = 0;
}
+#endif
+
ch.fd = -1;