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;