mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Merge branch '10.0' into 10.1
This commit is contained in:
@@ -103,6 +103,12 @@
|
||||
#include <my_sys.h>
|
||||
#include <lf.h>
|
||||
|
||||
/*
|
||||
when using alloca() leave at least that many bytes of the stack -
|
||||
for functions we might be calling from within this stack frame
|
||||
*/
|
||||
#define ALLOCA_SAFETY_MARGIN 8192
|
||||
|
||||
#define LF_PINBOX_MAX_PINS 65536
|
||||
|
||||
static void lf_pinbox_real_free(LF_PINS *pins);
|
||||
@@ -345,7 +351,8 @@ static void lf_pinbox_real_free(LF_PINS *pins)
|
||||
{
|
||||
int alloca_size= sizeof(void *)*LF_PINBOX_PINS*npins;
|
||||
/* create a sorted list of pinned addresses, to speed up searches */
|
||||
if (available_stack_size(&pinbox, *pins->stack_ends_here) > alloca_size)
|
||||
if (available_stack_size(&pinbox, *pins->stack_ends_here) >
|
||||
alloca_size + ALLOCA_SAFETY_MARGIN)
|
||||
{
|
||||
struct st_harvester hv;
|
||||
addr= (void **) alloca(alloca_size);
|
||||
|
||||
Reference in New Issue
Block a user