mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
Replace max_expr_depth parameter with a max_stack_depth parameter that
is measured in kilobytes and checked against actual physical execution stack depth, as per my proposal of 30-Dec. This gives us a fairly bulletproof defense against crashing due to runaway recursive functions.
This commit is contained in:
@ -1,18 +1,19 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* miscadmin.h
|
||||
* this file contains general postgres administration and initialization
|
||||
* This file contains general postgres administration and initialization
|
||||
* stuff that used to be spread out between the following files:
|
||||
* globals.h global variables
|
||||
* pdir.h directory path crud
|
||||
* pinit.h postgres initialization
|
||||
* pmod.h processing modes
|
||||
*
|
||||
* Over time, this has also become the preferred place for widely known
|
||||
* resource-limitation stuff, such as work_mem and check_stack_depth().
|
||||
*
|
||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.154 2004/03/23 01:23:48 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/include/miscadmin.h,v 1.155 2004/03/24 22:40:29 tgl Exp $
|
||||
*
|
||||
* NOTES
|
||||
* some of the information in this file should be moved to
|
||||
@ -70,7 +71,7 @@ extern volatile bool ImmediateInterruptOK;
|
||||
extern volatile uint32 InterruptHoldoffCount;
|
||||
extern volatile uint32 CritSectionCount;
|
||||
|
||||
/* in postgres.c */
|
||||
/* in tcop/postgres.c */
|
||||
extern void ProcessInterrupts(void);
|
||||
|
||||
#ifndef WIN32
|
||||
@ -224,6 +225,10 @@ extern char *UnixSocketDir;
|
||||
extern char *ListenAddresses;
|
||||
|
||||
|
||||
/* in tcop/postgres.c */
|
||||
extern void check_stack_depth(void);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* pdir.h -- *
|
||||
* POSTGRES directory path definitions. *
|
||||
|
Reference in New Issue
Block a user