1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-14 08:21:07 +03:00

Improve postmaster's behavior if an accept() call fails. Because the server

socket is still read-ready, the code was a tight loop, wasting lots of CPU.
We can't do anything to clear the failure, other than wait, but we should give
other processes more chance to finish and release FDs; so insert a small sleep.
Also, avoid bogus "close(-1)" in this case.  Per report from Jim Nasby.
This commit is contained in:
Tom Lane
2007-02-13 19:18:54 +00:00
parent b9c65aed82
commit cf4cc7843c
2 changed files with 13 additions and 4 deletions

View File

@ -37,7 +37,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.520 2007/02/11 11:59:25 mha Exp $
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.521 2007/02/13 19:18:54 tgl Exp $
*
* NOTES
*
@ -1710,7 +1710,8 @@ ConnCreate(int serverFd)
if (StreamConnection(serverFd, port) != STATUS_OK)
{
StreamClose(port->sock);
if (port->sock >= 0)
StreamClose(port->sock);
ConnFree(port);
port = NULL;
}