From 5d921acd7d7a56c4b3f660ddd7a5d0b3f20f5564 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sun, 27 Aug 2023 11:35:04 +0200 Subject: [DYNAREC] Do not use dynarec in signal handling unless CUSTOM_MALLOC for Dynarec is defined (so off for now, to avoid random lockup on libcef and other complex programs) --- src/libtools/signals.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/libtools') diff --git a/src/libtools/signals.c b/src/libtools/signals.c index e47a3dac..b20c04f3 100644 --- a/src/libtools/signals.c +++ b/src/libtools/signals.c @@ -289,6 +289,11 @@ uint64_t RunFunctionHandler(int* exit, int dynarec, x64_ucontext_t* sigcontext, #if 0 trace_start = 0; trace_end = 1; // disabling trace, globably for now... #endif +#endif +#ifndef USE_CUSTOM_MEM + // because a signal can interupt a malloc-like function + // Dynarec cannot be used in signal handling unless custom malloc is used + dynarec = 0; #endif x64emu_t *emu = thread_get_emu(); -- cgit 1.4.1