diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-04-06 11:35:08 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-04-06 11:35:08 +0200 |
| commit | 23a6d1a752e52939f097545c0e1777e694409ec3 (patch) | |
| tree | 432fa5568960a877958efdb52aecf55fc454454b /src/libtools | |
| parent | 74b1f9ee295a2ec888ac6a7b00963ce7c7f7c601 (diff) | |
| download | box64-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-x | src/libtools/signals.c | 2 |
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; |