Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
0895-kernel-Fix-bug-in-net_kernel-stop-for-dyna...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0895-kernel-Fix-bug-in-net_kernel-stop-for-dynamic-node-n.patch of Package erlang
From 2f9c8292aa5670f088991fab49f6af08eddb7fb2 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson <sverker@erlang.org> Date: Tue, 18 Jan 2022 12:47:29 +0100 Subject: [PATCH 2/2] kernel: Fix bug in net_kernel:stop() for dynamic node name persistent term 'net_kernel' erased by mistake: erl -sname undefined 1> persistent_term:get(net_kernel). dynamic_node_name 2> net_kernel:stop(). {error,not_allowed} 3> persistent_term:get(net_kernel, undefined). undefined --- lib/kernel/src/net_kernel.erl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/kernel/src/net_kernel.erl b/lib/kernel/src/net_kernel.erl index bc2f8a6573..35ac02d9ef 100644 --- a/lib/kernel/src/net_kernel.erl +++ b/lib/kernel/src/net_kernel.erl @@ -193,10 +193,6 @@ nodename() -> request(nodename). -spec stop() -> ok | {error, Reason} when Reason :: not_allowed | not_found. stop() -> - case persistent_term:get(net_kernel, undefined) of - undefined -> ok; - _ -> persistent_term:erase(net_kernel) - end, erl_distribution:stop(). -type node_info() :: @@ -729,6 +725,16 @@ code_change(_OldVsn, State, _Extra) -> %% ------------------------------------------------------------ terminate(Reason, State) -> + case State of + #state{supervisor = {restart, _}} -> + ok; + _ -> + case persistent_term:get(net_kernel, undefined) of + undefined -> ok; + _ -> persistent_term:erase(net_kernel) + end + end, + case Reason of no_network -> ok; -- 2.34.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor