aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_init.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-08-29 18:38:48 +0200
committerRickard Green <[email protected]>2016-08-29 18:38:48 +0200
commit5006f1e0c45d4e9b888b2c0ca48130049d33074c (patch)
tree0dba1e3ed85e04d22755461bcce40704e0d68b49 /erts/emulator/beam/erl_init.c
parent928d74ffa09bd56652d9390b02fa51ef51d71d51 (diff)
parent0e04e76df2ea71e2e2e116afef04c497d84b1024 (diff)
downloadotp-5006f1e0c45d4e9b888b2c0ca48130049d33074c.tar.gz
otp-5006f1e0c45d4e9b888b2c0ca48130049d33074c.tar.bz2
otp-5006f1e0c45d4e9b888b2c0ca48130049d33074c.zip
Merge branch 'rickard/ds-purge-module/OTP-13808' into maint
* rickard/ds-purge-module/OTP-13808: Perform check_process_code while process is executing dirty Conflicts: erts/doc/src/erl_nif.xml
Diffstat (limited to 'erts/emulator/beam/erl_init.c')
-rw-r--r--erts/emulator/beam/erl_init.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_init.c b/erts/emulator/beam/erl_init.c
index 8afda42a71..781bf024dd 100644
--- a/erts/emulator/beam/erl_init.c
+++ b/erts/emulator/beam/erl_init.c
@@ -2274,6 +2274,16 @@ erl_start(int argc, char **argv)
erts_proc_inc_refc(erts_literal_area_collector);
#endif
+#ifdef ERTS_DIRTY_SCHEDULERS
+ pid = erl_system_process_otp(otp_ring0_pid, "erts_dirty_process_code_checker");
+ erts_dirty_process_code_checker
+ = (Process *) erts_ptab_pix2intptr_ddrb(&erts_proc,
+ internal_pid_index(pid));
+ ASSERT(erts_dirty_process_code_checker
+ && erts_dirty_process_code_checker->common.id == pid);
+ erts_proc_inc_refc(erts_dirty_process_code_checker);
+#endif
+
}
#ifdef ERTS_SMP