Cygwin can not pass SCM_RIGHTS via unix socket, use signals
diff --git a/src/os/unix/ngx_posix_config.h b/src/os/unix/ngx_posix_config.h index 9898de0..49c3c4d 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 4705f39..631597e 100644 --- a/src/os/unix/ngx_process_cycle.c +++ b/src/os/unix/ngx_process_cycle.c
@@ -409,6 +409,12 @@ 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 @@ ch.command = 0; } +#endif + ch.fd = -1;