mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
For testing purposes, reinsert a timeout in pgstat.c's wait call.
Test results from buildfarm members mastodon/narwhal (Windows Server 2003) make it look like that platform just plain loses FD_READ events occasionally, and the only reason our previous coding seemed to work was that it timed out every couple of seconds and retried the whole operation. Try to verify this by reinserting a finite timeout into the pgstat loop. This isn't meant to be a permanent patch either, just to confirm or disprove a theory.
This commit is contained in:
@ -3241,10 +3241,11 @@ PgstatCollectorMain(int argc, char *argv[])
|
||||
elog(LOG, "pgstat: waiting");
|
||||
|
||||
/* Sleep until there's something to do */
|
||||
/* XXX should not need a timeout here */
|
||||
wr = WaitLatchOrSocket(&pgStatLatch,
|
||||
WL_LATCH_SET | WL_POSTMASTER_DEATH | WL_SOCKET_READABLE,
|
||||
WL_LATCH_SET | WL_POSTMASTER_DEATH | WL_SOCKET_READABLE | WL_TIMEOUT,
|
||||
pgStatSock,
|
||||
-1L);
|
||||
2000L);
|
||||
|
||||
elog(LOG, "pgstat: wait result 0x%x", wr);
|
||||
|
||||
|
Reference in New Issue
Block a user