aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/access/transam/xact.c10
-rw-r--r--src/backend/utils/mmgr/aset.c6
-rw-r--r--src/backend/utils/mmgr/mcxt.c10
-rw-r--r--src/include/utils/memutils.h13
4 files changed, 20 insertions, 19 deletions
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 09e7e7f9a46..9bf396e9df2 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -1018,11 +1018,11 @@ AtStart_Memory(void)
*/
if (TransactionAbortContext == NULL)
TransactionAbortContext =
- AllocSetContextCreateExtended(TopMemoryContext,
- "TransactionAbortContext",
- 32 * 1024,
- 32 * 1024,
- 32 * 1024);
+ AllocSetContextCreate(TopMemoryContext,
+ "TransactionAbortContext",
+ 32 * 1024,
+ 32 * 1024,
+ 32 * 1024);
/*
* We shouldn't have a transaction context already.
diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c
index e3d2c4e2faa..c4d7a499b15 100644
--- a/src/backend/utils/mmgr/aset.c
+++ b/src/backend/utils/mmgr/aset.c
@@ -381,8 +381,10 @@ AllocSetFreeIndex(Size size)
* maxBlockSize: maximum allocation block size
*
* Most callers should abstract the context size parameters using a macro
- * such as ALLOCSET_DEFAULT_SIZES. (This is now *required* when going
- * through the AllocSetContextCreate macro.)
+ * such as ALLOCSET_DEFAULT_SIZES.
+ *
+ * Note: don't call this directly; go through the wrapper macro
+ * AllocSetContextCreate.
*/
MemoryContext
AllocSetContextCreateExtended(MemoryContext parent,
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index ebe0342f18e..22da98c19d9 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -119,11 +119,11 @@ MemoryContextInit(void)
* This should be the last step in this function, as elog.c assumes memory
* management works once ErrorContext is non-null.
*/
- ErrorContext = AllocSetContextCreateExtended(TopMemoryContext,
- "ErrorContext",
- 8 * 1024,
- 8 * 1024,
- 8 * 1024);
+ ErrorContext = AllocSetContextCreate(TopMemoryContext,
+ "ErrorContext",
+ 8 * 1024,
+ 8 * 1024,
+ 8 * 1024);
MemoryContextAllowInCriticalSection(ErrorContext, true);
}
diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h
index bc5757681ba..8bbf2ed122c 100644
--- a/src/include/utils/memutils.h
+++ b/src/include/utils/memutils.h
@@ -158,17 +158,16 @@ extern MemoryContext AllocSetContextCreateExtended(MemoryContext parent,
/*
* This wrapper macro exists to check for non-constant strings used as context
* names; that's no longer supported. (Use MemoryContextSetIdentifier if you
- * want to provide a variable identifier.) Note you must specify block sizes
- * with one of the abstraction macros below.
+ * want to provide a variable identifier.)
*/
-#ifdef HAVE__BUILTIN_CONSTANT_P
-#define AllocSetContextCreate(parent, name, allocparams) \
+#if defined(HAVE__BUILTIN_CONSTANT_P) && defined(HAVE__VA_ARGS)
+#define AllocSetContextCreate(parent, name, ...) \
(StaticAssertExpr(__builtin_constant_p(name), \
"memory context names must be constant strings"), \
- AllocSetContextCreateExtended(parent, name, allocparams))
+ AllocSetContextCreateExtended(parent, name, __VA_ARGS__))
#else
-#define AllocSetContextCreate(parent, name, allocparams) \
- AllocSetContextCreateExtended(parent, name, allocparams)
+#define AllocSetContextCreate \
+ AllocSetContextCreateExtended
#endif
/* slab.c */