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;