diff options
author | Lukas Larsson <[email protected]> | 2016-08-12 11:42:58 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2016-08-12 11:42:58 +0200 |
commit | 6c41e0910b2ccb12c7a431f4398a7d0213b5b02e (patch) | |
tree | a236fd9fb3ab5967ff30f4f99bcaf56bc3c27cc6 /erts | |
parent | daa0f831aee9dedf8cdf29fd5f97f98f55e072e3 (diff) | |
parent | 53a487cd5019e7f7e3abee6b4a5e2d0b05aa34c6 (diff) | |
download | otp-6c41e0910b2ccb12c7a431f4398a7d0213b5b02e.tar.gz otp-6c41e0910b2ccb12c7a431f4398a7d0213b5b02e.tar.bz2 otp-6c41e0910b2ccb12c7a431f4398a7d0213b5b02e.zip |
Merge branch 'lukas/erts/fix_init_stop_code_load_race/OTP-13802' into maint
* lukas/erts/fix_init_stop_code_load_race/OTP-13802:
erts/kernel: Fix code loading deadlock during init:stop
Diffstat (limited to 'erts')
-rw-r--r-- | erts/preloaded/ebin/init.beam | bin | 50048 -> 50036 bytes | |||
-rw-r--r-- | erts/preloaded/src/init.erl | 5 |
2 files changed, 2 insertions, 3 deletions
diff --git a/erts/preloaded/ebin/init.beam b/erts/preloaded/ebin/init.beam Binary files differindex b856bff4fe..f0344fd6ba 100644 --- a/erts/preloaded/ebin/init.beam +++ b/erts/preloaded/ebin/init.beam diff --git a/erts/preloaded/src/init.erl b/erts/preloaded/src/init.erl index 45468b3b9c..67929c53c2 100644 --- a/erts/preloaded/src/init.erl +++ b/erts/preloaded/src/init.erl @@ -423,9 +423,6 @@ loop(State) -> Loaded = State#state.loaded, %% boot_loop but is handled here From ! {init,Loaded}, %% anyway. loop(State); - {From, {ensure_loaded, _}} -> - From ! {init, not_allowed}, - loop(State); Msg -> loop(handle_msg(Msg,State)) end. @@ -465,6 +462,8 @@ do_handle_msg(Msg,State) -> From ! {init,ok}, {new_state,State#state{subscribed = [Pid|Subscribed]}} end; + {From, {ensure_loaded, _}} -> + From ! {init, not_allowed}; X -> case whereis(user) of undefined -> |