about summary refs log tree commit diff stats
path: root/src/libtools
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-04-06 11:35:08 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-04-06 11:35:08 +0200
commit23a6d1a752e52939f097545c0e1777e694409ec3 (patch)
tree432fa5568960a877958efdb52aecf55fc454454b /src/libtools
parent74b1f9ee295a2ec888ac6a7b00963ce7c7f7c601 (diff)
downloadbox64-23a6d1a752e52939f097545c0e1777e694409ec3.tar.gz
box64-23a6d1a752e52939f097545c0e1777e694409ec3.zip
Only retry a memory access is the protection has both PROT_READ and PROT_WRITE
Diffstat (limited to 'src/libtools')
-rwxr-xr-xsrc/libtools/signals.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libtools/signals.c b/src/libtools/signals.c
index a98b570a..697296b5 100755
--- a/src/libtools/signals.c
+++ b/src/libtools/signals.c
@@ -879,7 +879,7 @@ void my_box64signalhandler(int32_t sig, siginfo_t* info, void * ucntx)
             return;
         }
         pthread_mutex_unlock(&mutex_dynarec_prot);
-    } else if ((sig==SIGSEGV) && (addr) && (info->si_code == SEGV_ACCERR) && (prot&(PROT_READ|PROT_WRITE))) {
+    } else if ((sig==SIGSEGV) && (addr) && (info->si_code == SEGV_ACCERR) && (prot&(PROT_READ|PROT_WRITE)==(PROT_READ|PROT_WRITE))) {
         pthread_mutex_lock(&mutex_dynarec_prot);
         db = FindDynablockFromNativeAddress(pc);
         db_searched = 1;