diff options
author | Andres Freund <andres@anarazel.de> | 2018-07-25 16:31:49 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2018-07-25 16:40:43 -0700 |
commit | ed7e319eb41361250ccb19379ef206b4a6d866de (patch) | |
tree | 02b8f434d19da57ab55838e656d9a885bc923b37 /src/backend/executor/execMain.c | |
parent | 1cfa69dcd8eff4a9611bf726bb90e89b77922a61 (diff) | |
download | postgresql-ed7e319eb41361250ccb19379ef206b4a6d866de.tar.gz postgresql-ed7e319eb41361250ccb19379ef206b4a6d866de.zip |
LLVMJIT: Release JIT context after running ExprContext shutdown callbacks.
Due to inlining it previously was possible that an ExprContext's
shutdown callback pointed to a JITed function. As the JIT context
previously was shut down before the shutdown callbacks were called,
that could lead to segfaults. Fix the ordering.
Reported-By: Dmitry Dolgov
Author: Andres Freund
Discussion: https://postgr.es/m/CA+q6zcWO7CeAJtHBxgcHn_hj+PenM=tvG0RJ93X1uEJ86+76Ug@mail.gmail.com
Backpatch: 11-, where JIT compilation was added
Diffstat (limited to 'src/backend/executor/execMain.c')
-rw-r--r-- | src/backend/executor/execMain.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 8026fe2438f..01e1a461804 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -47,7 +47,6 @@ #include "commands/trigger.h" #include "executor/execdebug.h" #include "foreign/fdwapi.h" -#include "jit/jit.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "optimizer/clauses.h" @@ -498,10 +497,6 @@ standard_ExecutorEnd(QueryDesc *queryDesc) UnregisterSnapshot(estate->es_snapshot); UnregisterSnapshot(estate->es_crosscheck_snapshot); - /* release JIT context, if allocated */ - if (estate->es_jit) - jit_release_context(estate->es_jit); - /* * Must switch out of context before destroying it */ |