vm: restore sigaltstack setup on unix

#ifdef __OpenBSD__ is different from #ifndef __OpenBSD
db4
Joe Groff 2011-11-03 11:50:23 -07:00
parent 289cba7fb5
commit 92445d77e2
1 changed files with 10 additions and 0 deletions

View File

@ -257,6 +257,16 @@ static void init_sigaction_with_handler(struct sigaction *act,
void factor_vm::unix_init_signals()
{
signal_callstack_seg = new segment(callstack_size,false);
stack_t signal_callstack;
signal_callstack.ss_sp = (char *)signal_callstack_seg->start;
signal_callstack.ss_size = signal_callstack_seg->size;
signal_callstack.ss_flags = 0;
if(sigaltstack(&signal_callstack,(stack_t *)NULL) < 0)
fatal_error("sigaltstack() failed",0);
struct sigaction memory_sigaction;
struct sigaction synchronous_sigaction;
struct sigaction enqueue_sigaction;