aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/init/miscinit.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2024-12-17 12:08:39 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2024-12-17 12:08:42 -0500
commitc91963da1302e8dd490bde115f3956f7d2f1258d (patch)
treebd1f6e3c4319e2efd4382ceb59e9e44486033470 /src/backend/utils/init/miscinit.c
parent957ba9ff14066782a42ebb974913b2fc616c99e1 (diff)
downloadpostgresql-c91963da1302e8dd490bde115f3956f7d2f1258d.tar.gz
postgresql-c91963da1302e8dd490bde115f3956f7d2f1258d.zip
Set the stack_base_ptr in main(), not in random other places.
Previously we did this in PostmasterMain() and InitPostmasterChild(), which meant that stack depth checking was disabled in non-postmaster server processes, for instance in single-user mode. That seems like a fairly bad idea, since there's no a-priori restriction on the complexity of queries we will run in single-user mode. Moreover, this led to not having quite the same stack depth limit in all processes, which likely has no real-world effect but it offends my inner neatnik. Setting the depth in main() guarantees that check_stack_depth() is armed and has a consistent interpretation of stack depth in all forms of server processes. While at it, move the code associated with checking the stack depth out of tcop/postgres.c (which was never a great home for it) into a new file src/backend/utils/misc/stack_depth.c. Discussion: https://postgr.es/m/2081982.1734393311@sss.pgh.pa.us
Diffstat (limited to 'src/backend/utils/init/miscinit.c')
-rw-r--r--src/backend/utils/init/miscinit.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c
index 3b7b2ebec08..d24ac133fb7 100644
--- a/src/backend/utils/init/miscinit.c
+++ b/src/backend/utils/init/miscinit.c
@@ -106,13 +106,6 @@ InitPostmasterChild(void)
pgwin32_signal_initialize();
#endif
- /*
- * Set reference point for stack-depth checking. This might seem
- * redundant in !EXEC_BACKEND builds, but it's better to keep the depth
- * logic the same with and without that build option.
- */
- (void) set_stack_base();
-
InitProcessGlobals();
/*