aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-04-20 14:53:05 +0200
committerSverker Eriksson <[email protected]>2018-04-20 14:53:05 +0200
commitaaf865a53a5be8d15afa5ff688cb3bdd672f4d18 (patch)
tree51202fa84c647ff6ba198a0ccd8051bbb84afa80
parent21754c8d402855af5081dad0aff465a8f0f7eda7 (diff)
downloadotp-aaf865a53a5be8d15afa5ff688cb3bdd672f4d18.tar.gz
otp-aaf865a53a5be8d15afa5ff688cb3bdd672f4d18.tar.bz2
otp-aaf865a53a5be8d15afa5ff688cb3bdd672f4d18.zip
erts: Fix run queue pointer in proxy process
proc->run_queue detected as uninitialized by valgrind but seems harmless in practice as it's not used for proxy processes. "Bug" introduced in OTP-17 by ca0425c6ff85262bc15367f5fd9cbc51cde52b20 and made worse (but still harmless) in master for OTP-21 at fbb10ebc4a37555c7ea7f99e14286d862993976a.
-rw-r--r--erts/emulator/beam/erl_process.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 71541786d0..e8f58a196a 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -6093,7 +6093,7 @@ make_proxy_proc(Process *prev_proxy, Process *proc, erts_aint32_t prio)
proxy = prev_proxy;
ASSERT(erts_atomic32_read_nob(&proxy->state) & ERTS_PSFLG_PROXY);
erts_atomic32_set_nob(&proxy->state, state);
- (void) erts_set_runq_proc(proc, rq, &bound);
+ (void) erts_set_runq_proc(proxy, rq, &bound);
}
else {
proxy = erts_alloc(ERTS_ALC_T_PROC, sizeof(Process));
@@ -6106,7 +6106,7 @@ make_proxy_proc(Process *prev_proxy, Process *proc, erts_aint32_t prio)
}
#endif
erts_atomic32_init_nob(&proxy->state, state);
- erts_init_runq_proc(proc, rq, bound);
+ erts_init_runq_proc(proxy, rq, bound);
}
proxy->common.id = proc->common.id;