Browse Source

Substantially increase context_t stack size

It's nearly free to do so, because it's just virtual address space.

@davidbiancolin recently fell into this pit when using context_t with VCS.
pull/1079/head
Andrew Waterman 4 years ago
parent
commit
476a79fe2f
  1. 2
      fesvr/context.cc

2
fesvr/context.cc

@ -49,7 +49,7 @@ void context_t::init(void (*f)(void*), void* a)
#ifdef USE_UCONTEXT #ifdef USE_UCONTEXT
getcontext(context.get()); getcontext(context.get());
context->uc_link = creator->context.get(); context->uc_link = creator->context.get();
context->uc_stack.ss_size = 64*1024; context->uc_stack.ss_size = 1024 * 1024;
context->uc_stack.ss_sp = new void*[context->uc_stack.ss_size/sizeof(void*)]; context->uc_stack.ss_sp = new void*[context->uc_stack.ss_size/sizeof(void*)];
#ifndef GLIBC_64BIT_PTR_BUG #ifndef GLIBC_64BIT_PTR_BUG
makecontext(context.get(), (void(*)(void))&context_t::wrapper, 1, this); makecontext(context.get(), (void(*)(void))&context_t::wrapper, 1, this);

Loading…
Cancel
Save