? drop_signal_support_for_pgstandby_win32.patch Index: contrib/pg_standby/pg_standby.c =================================================================== RCS file: /projects/cvsroot/pgsql/contrib/pg_standby/pg_standby.c,v retrieving revision 1.26 diff -c -r1.26 pg_standby.c *** contrib/pg_standby/pg_standby.c 25 Jun 2009 19:33:25 -0000 1.26 --- contrib/pg_standby/pg_standby.c 4 Nov 2009 10:27:26 -0000 *************** *** 56,62 **** --- 56,64 ---- bool need_cleanup = false; /* do we need to remove files from * archive? */ + #ifndef WIN32 static volatile sig_atomic_t signaled = false; + #endif char *archiveLocation; /* where to find the archive? */ char *triggerPath; /* where to find the trigger file? */ *************** *** 535,547 **** printf("\nReport bugs to .\n"); } static void sighandler(int sig) { signaled = true; } - #ifndef WIN32 /* We don't want SIGQUIT to core dump */ static void sigquit_handler(int sig) --- 537,549 ---- printf("\nReport bugs to .\n"); } + #ifndef WIN32 static void sighandler(int sig) { signaled = true; } /* We don't want SIGQUIT to core dump */ static void sigquit_handler(int sig) *************** *** 573,578 **** --- 575,581 ---- } } + #ifndef WIN32 /* * You can send SIGUSR1 to trigger failover. * *************** *** 584,593 **** * out to be a bad idea because postmaster uses SIGQUIT to request * immediate shutdown. We still trap SIGINT, but that may change in a * future release. */ (void) signal(SIGUSR1, sighandler); (void) signal(SIGINT, sighandler); /* deprecated, use SIGUSR1 */ - #ifndef WIN32 (void) signal(SIGQUIT, sigquit_handler); #endif --- 587,597 ---- * out to be a bad idea because postmaster uses SIGQUIT to request * immediate shutdown. We still trap SIGINT, but that may change in a * future release. + * + * There's no way to trigger failover via signal on Windows. */ (void) signal(SIGUSR1, sighandler); (void) signal(SIGINT, sighandler); /* deprecated, use SIGUSR1 */ (void) signal(SIGQUIT, sigquit_handler); #endif *************** *** 763,768 **** --- 767,773 ---- { /* Check for trigger file or signal first */ CheckForExternalTrigger(); + #ifndef WIN32 if (signaled) { Failover = FastFailover; *************** *** 772,777 **** --- 777,783 ---- fflush(stderr); } } + #endif /* * Check for fast failover immediately, before checking if the