diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-04-15 10:44:28 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-04-15 10:44:28 -0400 |
commit | 6b85d4ba9b09dc94cf1b14aef517da095a83cdbb (patch) | |
tree | 3324b2a0b34cda02b2963c5506f3881af9d084c4 | |
parent | ba8fe38f58e2f3d86c5361373598af80d5ce4443 (diff) | |
download | postgresql-6b85d4ba9b09dc94cf1b14aef517da095a83cdbb.tar.gz postgresql-6b85d4ba9b09dc94cf1b14aef517da095a83cdbb.zip |
Fix portability problem induced by commit a6f6b7819.
pg_xlogdump includes bufmgr.h. With a compiler that emits code for
static inline functions even when they're unreferenced, that leads
to unresolved external references in the new static-inline version
of BufferGetPage(). So hide it with #ifndef FRONTEND, as we've done
for similar issues elsewhere. Per buildfarm member pademelon.
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 2 | ||||
-rw-r--r-- | src/include/storage/bufmgr.h | 13 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 462dd4a2262..a2b2c66a86a 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -4299,7 +4299,7 @@ IssuePendingWritebacks(WritebackContext *context) * For best performance, keep the tests that are fastest and/or most likely to * exclude a page from old snapshot testing near the front. */ -extern void +void TestForOldSnapshot(Snapshot snapshot, Relation relation, Page page) { Assert(relation != NULL); diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index afd8a847efd..86040610e77 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -253,6 +253,15 @@ extern void FreeAccessStrategy(BufferAccessStrategy strategy); /* inline functions */ /* + * Although this header file is nominally backend-only, certain frontend + * programs like pg_xlogdump include it. For compilers that emit static + * inline functions even when they're unused, that leads to unsatisfied + * external references; hence hide these with #ifndef FRONTEND. + */ + +#ifndef FRONTEND + +/* * BufferGetPage * Returns the page associated with a buffer. * @@ -272,4 +281,6 @@ BufferGetPage(Buffer buffer, Snapshot snapshot, Relation relation, return page; } -#endif +#endif /* FRONTEND */ + +#endif /* BUFMGR_H */ |