Assume select() might modify struct timeout, so remove previous

optimization.
This commit is contained in:
Bruce Momjian 2006-01-03 19:54:08 +00:00
parent 447450df71
commit 75bb2b611d
1 changed files with 10 additions and 9 deletions

View File

@ -13,7 +13,7 @@
*
* Copyright (c) 2001-2005, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.117 2006/01/03 16:42:17 momjian Exp $
* $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.118 2006/01/03 19:54:08 momjian Exp $
* ----------
*/
#include "postgres.h"
@ -1870,14 +1870,6 @@ pgstat_recvbuffer(void)
*/
msgbuffer = (char *) palloc(PGSTAT_RECVBUFFERSZ);
/*
* Wait for some work to do; but not for more than 10 seconds. (This
* determines how quickly we will shut down after an ungraceful
* postmaster termination; so it needn't be very fast.)
*/
timeout.tv_sec = 10;
timeout.tv_usec = 0;
/*
* Loop forever
*/
@ -1918,6 +1910,15 @@ pgstat_recvbuffer(void)
maxfd = writePipe;
}
/*
* Wait for some work to do; but not for more than 10 seconds. (This
* determines how quickly we will shut down after an ungraceful
* postmaster termination; so it needn't be very fast.) struct timeout
* is modified by some operating systems.
*/
timeout.tv_sec = 10;
timeout.tv_usec = 0;
if (select(maxfd + 1, &rfds, &wfds, NULL, &timeout) < 0)
{
if (errno == EINTR)