diff options
| author | ptitSeb <seebastien.chev@gmail.com> | 2023-08-27 11:35:04 +0200 |
|---|---|---|
| committer | ptitSeb <seebastien.chev@gmail.com> | 2023-08-27 11:35:04 +0200 |
| commit | 5d921acd7d7a56c4b3f660ddd7a5d0b3f20f5564 (patch) | |
| tree | 5171393dc0c1c8dd6ed06d728ce8bcacb0aa2766 /src | |
| parent | aa051b662e3a0e8c80e7b6373d35e22da3c42d79 (diff) | |
| download | box64-5d921acd7d7a56c4b3f660ddd7a5d0b3f20f5564.tar.gz box64-5d921acd7d7a56c4b3f660ddd7a5d0b3f20f5564.zip | |
[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)
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/signals.c | 5 |
1 files changed, 5 insertions, 0 deletions
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 @@ -290,6 +290,11 @@ uint64_t RunFunctionHandler(int* exit, int dynarec, x64_ucontext_t* sigcontext, 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(); #ifdef DYNAREC |