aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2023-03-17 09:44:42 +1300
committerThomas Munro <tmunro@postgresql.org>2023-03-17 10:44:46 +1300
commit6a9229da65c9553a1268764d46fb28043b83bfd6 (patch)
tree9fdea30c149e1d6a77a4727f4eadfbda288b4d57
parentf170b572d2b4cc232c5b6d391b4ecf3e368594b7 (diff)
downloadpostgresql-6a9229da65c9553a1268764d46fb28043b83bfd6.tar.gz
postgresql-6a9229da65c9553a1268764d46fb28043b83bfd6.zip
Small tidyup for commit d41a178b.
A comment was left behind claiming that we needed to use malloc() rather than palloc() because the corresponding free would run in another thread, but that's not true anymore. Remove that comment. And, with the reason being gone, we might as well actually use palloc(). Back-patch to supported releases, like d41a178b. Discussion: https://postgr.es/m/CA%2BhUKG%2BpdM9v3Jv4tc2BFx2jh_daY3uzUyAGBhtDkotEQDNPYw%40mail.gmail.com
-rw-r--r--src/backend/postmaster/postmaster.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 71198b72c83..27184fb3c4c 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -4786,13 +4786,10 @@ retry:
/*
* Queue a waiter to signal when this child dies. The wait will be handled
- * automatically by an operating system thread pool.
- *
- * Note: use malloc instead of palloc, since it needs to be thread-safe.
- * Struct will be free():d from the callback function that runs on a
- * different thread.
+ * automatically by an operating system thread pool. The memory will be
+ * freed by a later call to waitpid().
*/
- childinfo = malloc(sizeof(win32_deadchild_waitinfo));
+ childinfo = palloc(sizeof(win32_deadchild_waitinfo));
if (!childinfo)
ereport(FATAL,
(errcode(ERRCODE_OUT_OF_MEMORY),
@@ -6463,7 +6460,7 @@ waitpid(pid_t pid, int *exitstatus, int options)
* Free struct that was allocated before the call to
* RegisterWaitForSingleObject()
*/
- free(childinfo);
+ pfree(childinfo);
return pid;
}