From 31d6f9590a1628e6d7b34f1efe7341abbb93ae09 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Thu, 18 Oct 2007 11:28:21 +0000 Subject: [PATCH] Cygwin can not pass SCM_RIGHTS via unix socket, use signals --- src/os/unix/ngx_posix_config.h | 1 + src/os/unix/ngx_process_cycle.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/os/unix/ngx_posix_config.h b/src/os/unix/ngx_posix_config.h index 9898de0d0..49c3c4d6c 100644 --- a/src/os/unix/ngx_posix_config.h +++ b/src/os/unix/ngx_posix_config.h @@ -21,6 +21,7 @@ #ifdef __CYGWIN__ #define timezonevar /* timezone is variable */ +#define NGX_BROKEN_SCM_RIGHTS 1 #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;