aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2011-02-04 23:27:45 -0500
committerBruce Momjian <bruce@momjian.us>2011-02-04 23:28:14 -0500
commit51dbc87dff5c32bfe627ec7b22c575c263de8251 (patch)
treeb1f50f7e2599bb79221730d1d399063b6766b55b
parent895ad83d702ed821f72ec7bdf1fba3db7da9d9d7 (diff)
downloadpostgresql-51dbc87dff5c32bfe627ec7b22c575c263de8251.tar.gz
postgresql-51dbc87dff5c32bfe627ec7b22c575c263de8251.zip
Add C comment about why older compilers complain about basebackup.c's
longjump.
-rw-r--r--src/backend/replication/basebackup.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/backend/replication/basebackup.c b/src/backend/replication/basebackup.c
index b5cda5063be..d94b61f23ef 100644
--- a/src/backend/replication/basebackup.c
+++ b/src/backend/replication/basebackup.c
@@ -217,6 +217,12 @@ perform_base_backup(basebackup_options *opt, DIR *tblspcdir)
ptr.xlogid = logid;
ptr.xrecoff = logseg * XLogSegSize + TAR_SEND_SIZE * i;
+ /*
+ * Some old compilers, e.g. 2.95.3/x86, think that passing
+ * a struct in the same function as a longjump might clobber
+ * a variable. bjm 2011-02-04
+ * http://lists.apple.com/archives/xcode-users/2003/Dec//msg00051.html
+ */
XLogRead(buf, ptr, TAR_SEND_SIZE);
if (pq_putmessage('d', buf, TAR_SEND_SIZE))
ereport(ERROR,