diff options
author | Hans Bolinder <[email protected]> | 2010-06-08 12:00:00 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-08-20 08:58:02 +0200 |
commit | 90e04f98a65a7f261ab9ba79917394b5d68bb650 (patch) | |
tree | f82cc563c0a3ab1bf2e7c32cd29293b6599d5901 /lib/kernel/src | |
parent | 61b1feed86ccf574613b913c5eea57d138eeb178 (diff) | |
download | otp-90e04f98a65a7f261ab9ba79917394b5d68bb650.tar.gz otp-90e04f98a65a7f261ab9ba79917394b5d68bb650.tar.bz2 otp-90e04f98a65a7f261ab9ba79917394b5d68bb650.zip |
kernel: Patch 1124
OTP-8686 A bug introduced in kernel-2.13.5.3 has been fixed.
Diffstat (limited to 'lib/kernel/src')
-rw-r--r-- | lib/kernel/src/net_kernel.erl | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/kernel/src/net_kernel.erl b/lib/kernel/src/net_kernel.erl index 9078b6ee5c..1353ac65c6 100644 --- a/lib/kernel/src/net_kernel.erl +++ b/lib/kernel/src/net_kernel.erl @@ -1083,11 +1083,11 @@ do_spawn(SpawnFuncArgs, SpawnOpts, State) -> spawn_func(link,{From,Tag},M,F,A,Gleader) -> link(From), - async_gen_server_reply({From,Tag},self()), %% ahhh + gen_server:reply({From,Tag},self()), %% ahhh group_leader(Gleader,self()), apply(M,F,A); spawn_func(_,{From,Tag},M,F,A,Gleader) -> - async_gen_server_reply({From,Tag},self()), %% ahhh + gen_server:reply({From,Tag},self()), %% ahhh group_leader(Gleader,self()), apply(M,F,A). @@ -1524,10 +1524,12 @@ async_gen_server_reply(From, Msg) -> {Pid, Tag} = From, M = {Tag, Msg}, case catch erlang:send(Pid, M, [nosuspend, noconnect]) of - true -> - M; - false -> - spawn(fun() -> gen_server:reply(From, Msg) end); - EXIT -> + ok -> + ok; + nosuspend -> + spawn(fun() -> catch erlang:send(Pid, M, [noconnect]) end); + noconnect -> + ok; % The gen module takes care of this case. + {'EXIT', _}=EXIT -> EXIT end. |