]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Ensure that we retry rather than erroring out when send() or recv() return
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 16 Jul 2006 18:17:23 +0000 (18:17 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 16 Jul 2006 18:17:23 +0000 (18:17 +0000)
commit74dac69e3c20487b0c2eacee05b4ff8ba12ce640
treeee7998389aca2bd2818ea396fdc8b3fb47d03045
parent78e8400a52c6ceaa9674172ffd6ab658c72379d6
Ensure that we retry rather than erroring out when send() or recv() return
EINTR; the stats code was failing to do this and so were a couple of places
in the postmaster.  The stats code assumed that recv() could not return EINTR
if a preceding select() showed the socket to be read-ready, but this is
demonstrably false with our Windows implementation of recv(), and it may
not be the case on all Unix variants either.  I think this explains the
intermittent stats regression test failures we've been seeing, as well
as reports of stats collector instability under high load on Windows.

Backpatch as far as 8.0.
src/backend/postmaster/pgstat.c
src/backend/postmaster/postmaster.c