pg_basebackup_throttle_2_v1.patch

application/octet-stream

Filename: pg_basebackup_throttle_2_v1.patch
Type: application/octet-stream
Part: 1
Message: Re: pg_basebackup throttling doesn't throttle as promised

Patch

Format: unified
Series: patch v1
File+
src/backend/replication/walsender.c 0 0
diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
new file mode 100644
index db346e6..db01d06
*** a/src/backend/replication/walsender.c
--- b/src/backend/replication/walsender.c
*************** WalSndWakeup(void)
*** 3008,3013 ****
--- 3008,3014 ----
  	for (i = 0; i < max_wal_senders; i++)
  	{
  		Latch	   *latch;
+ 		WalSndState	state;
  		WalSnd	   *walsnd = &WalSndCtl->walsnds[i];
  
  		/*
*************** WalSndWakeup(void)
*** 3016,3024 ****
  		 */
  		SpinLockAcquire(&walsnd->mutex);
  		latch = walsnd->latch;
  		SpinLockRelease(&walsnd->mutex);
  
! 		if (latch != NULL)
  			SetLatch(latch);
  	}
  }
--- 3017,3026 ----
  		 */
  		SpinLockAcquire(&walsnd->mutex);
  		latch = walsnd->latch;
+ 		state = walsnd->state;
  		SpinLockRelease(&walsnd->mutex);
  
! 		if (latch != NULL && state != WALSNDSTATE_BACKUP)
  			SetLatch(latch);
  	}
  }