diff --git a/src/backend/storage/ipc/shm_mq.c b/src/backend/storage/ipc/shm_mq.c
new file mode 100644
index 3faace2..c80cb6e
*** a/src/backend/storage/ipc/shm_mq.c
--- b/src/backend/storage/ipc/shm_mq.c
*************** shm_mq_sendv(shm_mq_handle *mqh, shm_mq_
*** 493,499 ****
  		return SHM_MQ_DETACHED;
  
  	/*
! 	 * If the counterpary is known to have attached, we can read mq_receiver
  	 * without acquiring the spinlock and assume it isn't NULL.  Otherwise,
  	 * more caution is needed.
  	 */
--- 493,499 ----
  		return SHM_MQ_DETACHED;
  
  	/*
! 	 * If the counterparty is known to have attached, we can read mq_receiver
  	 * without acquiring the spinlock and assume it isn't NULL.  Otherwise,
  	 * more caution is needed.
  	 */
*************** shm_mq_inc_bytes_read(shm_mq *mq, Size n
*** 1203,1211 ****
  
  	/*
  	 * Separate prior reads of mq_ring from the increment of mq_bytes_read
! 	 * which follows.  Pairs with the full barrier in shm_mq_send_bytes(). We
! 	 * only need a read barrier here because the increment of mq_bytes_read is
! 	 * actually a read followed by a dependent write.
  	 */
  	pg_read_barrier();
  
--- 1203,1211 ----
  
  	/*
  	 * Separate prior reads of mq_ring from the increment of mq_bytes_read
! 	 * which follows.  This pairs with the full barrier in shm_mq_send_bytes().
! 	 * We only need a read barrier here because the increment of mq_bytes_read
! 	 * is actually a read followed by a dependent write.
  	 */
  	pg_read_barrier();
  
