diff options
Diffstat (limited to 'src/backend/executor/execParallel.c')
-rw-r--r-- | src/backend/executor/execParallel.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/backend/executor/execParallel.c b/src/backend/executor/execParallel.c index e6930c1d51c..3bb820692d2 100644 --- a/src/backend/executor/execParallel.c +++ b/src/backend/executor/execParallel.c @@ -443,6 +443,23 @@ ExecParallelFinish(ParallelExecutorInfo *pei) } /* + * Clean up whatever ParallelExecutreInfo resources still exist after + * ExecParallelFinish. We separate these routines because someone might + * want to examine the contents of the DSM after ExecParallelFinish and + * before calling this routine. + */ +void +ExecParallelCleanup(ParallelExecutorInfo *pei) +{ + if (pei->pcxt != NULL) + { + DestroyParallelContext(pei->pcxt); + pei->pcxt = NULL; + } + pfree(pei); +} + +/* * Create a DestReceiver to write tuples we produce to the shm_mq designated * for that purpose. */ |