about summary refs log tree commit diff stats
path: root/src/dynarec/dynarec_native.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-10-16 11:00:07 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-10-16 11:00:07 +0200
commitb40cb7b84a1a404a0d2b042791d9133bde3f1b77 (patch)
tree841823ebc7ac61b2cd3ba5ee6e8a3bb177d4dca0 /src/dynarec/dynarec_native.c
parentd0045b158b30434c2077693d970e2167a1089e84 (diff)
downloadbox64-b40cb7b84a1a404a0d2b042791d9133bde3f1b77.tar.gz
box64-b40cb7b84a1a404a0d2b042791d9133bde3f1b77.zip
[DYNAREC] Fixed potential issue with signel not being re-enabled after FillBlock64 got canceled in a signal handler
Diffstat (limited to 'src/dynarec/dynarec_native.c')
-rw-r--r--src/dynarec/dynarec_native.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native.c b/src/dynarec/dynarec_native.c
index e73870c5..961ba441 100644
--- a/src/dynarec/dynarec_native.c
+++ b/src/dynarec/dynarec_native.c
@@ -493,8 +493,10 @@ void CancelBlock64(int need_lock)
     }
     current_helper = NULL;
     redundant_helper = NULL;
-    if(need_lock)
+    if(need_lock) {
         mutex_unlock(&my_context->mutex_dyndump);
+        cancelFillBlockCriticalSection();
+    }
 }
 
 uintptr_t native_pass0(dynarec_native_t* dyn, uintptr_t addr, int alternate, int is32bits, int inst_max);