*** a/doc/src/sgml/config.sgml
--- b/doc/src/sgml/config.sgml
***************
*** 1909,1934 **** SET ENABLE_SEQSCAN TO OFF;
         </para>
         </listitem>
        </varlistentry>
-       <varlistentry id="guc-wal-sender-delay" xreflabel="wal_sender_delay">
-        <term><varname>wal_sender_delay</varname> (<type>integer</type>)</term>
-        <indexterm>
-         <primary><varname>wal_sender_delay</> configuration parameter</primary>
-        </indexterm>
-        <listitem>
-        <para>
-         Specifies the delay between activity rounds for WAL sender processes.
-         In each round the WAL sender sends any WAL accumulated since the last
-         round to the standby server. It then sleeps for
-         <varname>wal_sender_delay</> milliseconds, and repeats. The default
-         value is 200 milliseconds (<literal>200ms</>).
-         Note that on many systems, the effective resolution of sleep delays is
-         10 milliseconds; setting <varname>wal_sender_delay</> to a value that
-         is not a multiple of 10 might have the same results as setting it to
-         the next higher multiple of 10. This parameter can only be set in the
-         <filename>postgresql.conf</> file or on the server command line.
-        </para>
-        </listitem>
-       </varlistentry>
  
        <varlistentry id="guc-wal-keep-segments" xreflabel="wal_keep_segments">
         <term><varname>wal_keep_segments</varname> (<type>integer</type>)</term>
--- 1909,1914 ----
*** a/src/backend/replication/walsender.c
--- b/src/backend/replication/walsender.c
***************
*** 65,71 **** bool		am_walsender = false;		/* Am I a walsender process ? */
  
  /* User-settable parameters for walsender */
  int			max_wal_senders = 0;	/* the maximum number of concurrent walsenders */
- int			WalSndDelay = 200;	/* max sleep time between some actions */
  
  /*
   * These variables are used similarly to openLogFile/Id/Seg/Off,
--- 65,70 ----
***************
*** 77,82 **** static uint32 sendSeg = 0;
--- 76,89 ----
  static uint32 sendOff = 0;
  
  /*
+  * The delay between activity rounds for walsender. In each round
+  * walsender sends any WAL accumulated since the last round to the
+  * standby server. It then sleeps for 10000000 microseconds (10s),
+  * and repeats. 
+  */
+ #define WAL_SENDER_DELAY 10000000
+ 
+ /*
   * How far have we sent WAL already? This is also advertised in
   * MyWalSnd->sentPtr.  (Actually, this is the next WAL location to send.)
   */
***************
*** 444,458 **** WalSndLoop(void)
  				break;
  			if (caughtup && !got_SIGHUP && !ready_to_stop && !shutdown_requested)
  			{
- 				/*
- 				 * XXX: We don't really need the periodic wakeups anymore,
- 				 * WaitLatchOrSocket should reliably wake up as soon as
- 				 * something interesting happens.
- 				 */
- 
  				/* Sleep */
  				WaitLatchOrSocket(&MyWalSnd->latch, MyProcPort->sock,
! 								  WalSndDelay * 1000L);
  			}
  
  			/* Check if the connection was closed */
--- 451,459 ----
  				break;
  			if (caughtup && !got_SIGHUP && !ready_to_stop && !shutdown_requested)
  			{
  				/* Sleep */
  				WaitLatchOrSocket(&MyWalSnd->latch, MyProcPort->sock,
! 								  WAL_SENDER_DELAY);
  			}
  
  			/* Check if the connection was closed */
*** a/src/backend/utils/misc/guc.c
--- b/src/backend/utils/misc/guc.c
***************
*** 1790,1805 **** static struct config_int ConfigureNamesInt[] =
  	},
  
  	{
- 		{"wal_sender_delay", PGC_SIGHUP, WAL_REPLICATION,
- 			gettext_noop("WAL sender sleep time between WAL replications."),
- 			NULL,
- 			GUC_UNIT_MS
- 		},
- 		&WalSndDelay,
- 		200, 1, 10000, NULL, NULL
- 	},
- 
- 	{
  		{"commit_delay", PGC_USERSET, WAL_SETTINGS,
  			gettext_noop("Sets the delay in microseconds between transaction commit and "
  						 "flushing WAL to disk."),
--- 1790,1795 ----
*** a/src/backend/utils/misc/postgresql.conf.sample
--- b/src/backend/utils/misc/postgresql.conf.sample
***************
*** 188,194 ****
  
  #max_wal_senders = 0		# max number of walsender processes
  				# (change requires restart)
- #wal_sender_delay = 200ms	# walsender cycle time, 1-10000 milliseconds
  #wal_keep_segments = 0		# in logfile segments, 16MB each; 0 disables
  #vacuum_defer_cleanup_age = 0	# number of xacts by which cleanup is delayed
  
--- 188,193 ----
*** a/src/include/replication/walsender.h
--- b/src/include/replication/walsender.h
***************
*** 45,51 **** extern WalSndCtlData *WalSndCtl;
  extern bool am_walsender;
  
  /* user-settable parameters */
- extern int	WalSndDelay;
  extern int	max_wal_senders;
  
  extern int	WalSenderMain(void);
--- 45,50 ----