aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2015-05-13 16:28:59 +0200
committerRickard Green <[email protected]>2015-05-25 08:55:00 +0200
commit79729c7d95cfc2b163c55071589e83019247c5a1 (patch)
tree81160afdfa77dbcdb2e526413ccc7ef66ad6b8a9 /erts/emulator/beam/erl_process.c
parent9e2a3c9f5666676038b98092756e3560f285d4c5 (diff)
downloadotp-79729c7d95cfc2b163c55071589e83019247c5a1.tar.gz
otp-79729c7d95cfc2b163c55071589e83019247c5a1.tar.bz2
otp-79729c7d95cfc2b163c55071589e83019247c5a1.zip
Fix bug causing timeout to overwrite exit instruction
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index af8db519d4..0a8897320d 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -9649,7 +9649,7 @@ Process *schedule(Process *p, int calls)
ASSERT(erts_proc_read_refc(p) > 0);
- if (ERTS_PTMR_IS_TIMED_OUT(p)) {
+ if (!(state & ERTS_PSFLG_EXITING) && ERTS_PTMR_IS_TIMED_OUT(p)) {
BeamInstr** pi;
#ifdef ERTS_SMP
ETHR_MEMBAR(ETHR_LoadLoad|ETHR_LoadStore);