From 0993e097cf459ec02fc172abf8b6a4d9dfd0ffd8 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Wed, 12 Dec 2007 20:38:44 +0000 Subject: [PATCH] r1577, r1582 merge: Cygwin support --- auto/headers | 2 ++ src/os/unix/ngx_posix_config.h | 15 +++++++++++++++ src/os/unix/ngx_process_cycle.c | 8 ++++++++ 3 files changed, 25 insertions(+) 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 #include #if (NGX_HAVE_UNISTD_H) @@ -64,6 +70,15 @@ #include /* IOV_MAX */ #endif +#if (NGX_HAVE_MALLOC_H) +#include /* memalign() */ +#endif + +#if (NGX_HAVE_CRYPT_H) +#include +#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;