about summary refs log tree commit diff stats
path: root/src/libtools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-02-14 14:58:27 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-02-14 14:58:27 +0100
commit108949345f478eae826104b7047ed2bb5c35936f (patch)
treebb3ebd203a89734a9461031e4ce1f4e2921e0fe1 /src/libtools
parent69eb3090310dd8e3740e41ba184dc7cf6efbf4c9 (diff)
downloadbox64-108949345f478eae826104b7047ed2bb5c35936f.tar.gz
box64-108949345f478eae826104b7047ed2bb5c35936f.zip
[DYNAREC] Don't forget to Cancel the block itself before bailling out of a failed FillBlock64
Diffstat (limited to 'src/libtools')
-rwxr-xr-xsrc/libtools/signals.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c
index 3bea0608..c364ac05 100755
--- a/src/libtools/signals.c
+++ b/src/libtools/signals.c
@@ -805,6 +805,7 @@ void my_box64signalhandler(int32_t sig, siginfo_t* info, void * ucntx)
 #ifdef DYNAREC
     if((Locks & is_dyndump_locked) && (sig==SIGSEGV) && current_helper) {
         relockMutex(Locks);
+        CancelBlock64();
         cancelFillBlock();  // Segfault inside a Fillblock, cancel it's creation...
     }
     dynablock_t* db = NULL;