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:
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user