aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-05-16 16:35:23 +0200
committerSverker Eriksson <[email protected]>2018-05-18 14:18:23 +0200
commit7c485575e78b6537586bb0902658b890b22a2186 (patch)
tree66dd22333f1e1c6c882989f97f31e6ec4a5dc850 /erts/emulator/beam/erl_process.c
parentda06fd040775fffee17409ebbd6fa797e34d6f99 (diff)
downloadotp-7c485575e78b6537586bb0902658b890b22a2186.tar.gz
otp-7c485575e78b6537586bb0902658b890b22a2186.tar.bz2
otp-7c485575e78b6537586bb0902658b890b22a2186.zip
erts: Fix bug in system_profile
seen to cause redundant {profile,_,active,_,_} messages when process is terminating.
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 54724fd62d..b0178c3fc1 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -6674,13 +6674,13 @@ change_proc_schedule_state(Process *p,
if (((n & (ERTS_PSFLG_SUSPENDED
| ERTS_PSFLG_ACTIVE)) == ERTS_PSFLG_ACTIVE)
- && (!(a & (ERTS_PSFLG_ACTIVE_SYS
- | ERTS_PSFLG_RUNNING
- | ERTS_PSFLG_RUNNING_SYS
- | ERTS_PSFLG_DIRTY_RUNNING
- | ERTS_PSFLG_DIRTY_RUNNING_SYS)
- && (!(a & ERTS_PSFLG_ACTIVE)
- || (a & ERTS_PSFLG_SUSPENDED))))) {
+ & ((a & (ERTS_PSFLG_SUSPENDED
+ | ERTS_PSFLG_ACTIVE)) != ERTS_PSFLG_ACTIVE)
+ & !(a & (ERTS_PSFLG_ACTIVE_SYS
+ | ERTS_PSFLG_RUNNING
+ | ERTS_PSFLG_RUNNING_SYS
+ | ERTS_PSFLG_DIRTY_RUNNING
+ | ERTS_PSFLG_DIRTY_RUNNING_SYS))) {
/* We activated a prevously inactive process */
profile_runnable_proc(p, am_active);
}