aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/mmgr/dsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/mmgr/dsa.c')
-rw-r--r--src/backend/utils/mmgr/dsa.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/backend/utils/mmgr/dsa.c b/src/backend/utils/mmgr/dsa.c
index 7dc43f1ea79..3eb3d4d9a4e 100644
--- a/src/backend/utils/mmgr/dsa.c
+++ b/src/backend/utils/mmgr/dsa.c
@@ -756,6 +756,22 @@ dsa_allocate(dsa_area *area, Size size)
}
/*
+ * As dsa_allocate, but zeroes the allocated memory.
+ */
+dsa_pointer
+dsa_allocate0(dsa_area *area, Size size)
+{
+ dsa_pointer dp;
+ char *object;
+
+ dp = dsa_allocate(area, size);
+ object = dsa_get_address(area, dp);
+ memset(object, 0, size);
+
+ return dp;
+}
+
+/*
* Free memory obtained with dsa_allocate.
*/
void