? 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 <pgsql-bugs@postgresql.org>.\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 <pgsql-bugs@postgresql.org>.\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
