aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/nodes/memnodes.h16
-rw-r--r--src/include/utils/memutils.h2
-rw-r--r--src/include/utils/palloc.h20
3 files changed, 20 insertions, 18 deletions
diff --git a/src/include/nodes/memnodes.h b/src/include/nodes/memnodes.h
index 3eeaad49288..5e036b9b6f5 100644
--- a/src/include/nodes/memnodes.h
+++ b/src/include/nodes/memnodes.h
@@ -17,22 +17,6 @@
#include "nodes/nodes.h"
/*
- * A memory context can have callback functions registered on it. Any such
- * function will be called once just before the context is next reset or
- * deleted. The MemoryContextCallback struct describing such a callback
- * typically would be allocated within the context itself, thereby avoiding
- * any need to manage it explicitly (the reset/delete action will free it).
- */
-typedef void (*MemoryContextCallbackFunction) (void *arg);
-
-typedef struct MemoryContextCallback
-{
- MemoryContextCallbackFunction func; /* function to call */
- void *arg; /* argument to pass it */
- struct MemoryContextCallback *next; /* next in list of callbacks */
-} MemoryContextCallback;
-
-/*
* MemoryContext
* A logical context in which memory allocations occur.
*
diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h
index dbb163a1536..9e84d01103f 100644
--- a/src/include/utils/memutils.h
+++ b/src/include/utils/memutils.h
@@ -97,8 +97,6 @@ extern void MemoryContextDelete(MemoryContext context);
extern void MemoryContextResetOnly(MemoryContext context);
extern void MemoryContextResetChildren(MemoryContext context);
extern void MemoryContextDeleteChildren(MemoryContext context);
-extern void MemoryContextRegisterResetCallback(MemoryContext context,
- MemoryContextCallback *cb);
extern void MemoryContextSetParent(MemoryContext context,
MemoryContext new_parent);
extern Size GetMemoryChunkSpace(void *pointer);
diff --git a/src/include/utils/palloc.h b/src/include/utils/palloc.h
index f586fd5535b..39b318da43a 100644
--- a/src/include/utils/palloc.h
+++ b/src/include/utils/palloc.h
@@ -36,6 +36,22 @@
typedef struct MemoryContextData *MemoryContext;
/*
+ * A memory context can have callback functions registered on it. Any such
+ * function will be called once just before the context is next reset or
+ * deleted. The MemoryContextCallback struct describing such a callback
+ * typically would be allocated within the context itself, thereby avoiding
+ * any need to manage it explicitly (the reset/delete action will free it).
+ */
+typedef void (*MemoryContextCallbackFunction) (void *arg);
+
+typedef struct MemoryContextCallback
+{
+ MemoryContextCallbackFunction func; /* function to call */
+ void *arg; /* argument to pass it */
+ struct MemoryContextCallback *next; /* next in list of callbacks */
+} MemoryContextCallback;
+
+/*
* CurrentMemoryContext is the default allocation context for palloc().
* Avoid accessing it directly! Instead, use MemoryContextSwitchTo()
* to change the setting.
@@ -107,6 +123,10 @@ MemoryContextSwitchTo(MemoryContext context)
#endif /* PG_USE_INLINE || MCXT_INCLUDE_DEFINITIONS */
#endif /* FRONTEND */
+/* Registration of memory context reset/delete callbacks */
+extern void MemoryContextRegisterResetCallback(MemoryContext context,
+ MemoryContextCallback *cb);
+
/*
* These are like standard strdup() except the copied string is
* allocated in a context, not with malloc().