diff --git a/pgxn/neon/libpagestore.c b/pgxn/neon/libpagestore.c index bec1e1f88e..ff01797189 100644 --- a/pgxn/neon/libpagestore.c +++ b/pgxn/neon/libpagestore.c @@ -1152,16 +1152,16 @@ pageserver_try_receive(shardno_t shard_no) while (true) { - WaitEvent event; - if (WaitEventSetWait(shard->wes_read, 0, &event, 1, - WAIT_EVENT_NEON_PS_READ) != 1 - || (event.events & WL_SOCKET_READABLE) == 0) - { - return NULL; - } rc = PQgetCopyData(shard->conn, &resp_buff.data, 1 /* async */); if (rc == 0) { + WaitEvent event; + if (WaitEventSetWait(shard->wes_read, 0, &event, 1, + WAIT_EVENT_NEON_PS_READ) != 1 + || (event.events & WL_SOCKET_READABLE) == 0) + { + return NULL; + } if (!PQconsumeInput(shard->conn)) { return NULL;