Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
2782-Fix-type-violations.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2782-Fix-type-violations.patch of Package erlang
From 2e4b376bc2ab96a921ac50784dae124b7fedc911 Mon Sep 17 00:00:00 2001 From: Raimo Niskanen <raimo@erlang.org> Date: Fri, 18 Feb 2022 16:22:29 +0100 Subject: [PATCH 2/8] Fix type violations --- lib/kernel/src/global.erl | 33 +++++++++++++++++---------------- lib/kernel/src/logger_olp.erl | 8 +++++--- lib/kernel/src/rpc.erl | 30 ++++++++++++++++++++---------- 3 files changed, 42 insertions(+), 29 deletions(-) diff --git a/lib/kernel/src/global.erl b/lib/kernel/src/global.erl index 03f6c0aa94..98334ef0f2 100644 --- a/lib/kernel/src/global.erl +++ b/lib/kernel/src/global.erl @@ -241,9 +241,9 @@ register_name(Name, Pid, Method0) when is_pid(Pid) -> Fun = fun(Nodes) -> case (where(Name) =:= undefined) andalso check_dupname(Name, Pid) of true -> - gen_server:multi_call(Nodes, - global_name_server, - {register, Name, Pid, Method}), + _ = gen_server:multi_call(Nodes, + global_name_server, + {register, Name, Pid, Method}), yes; _ -> no @@ -276,9 +276,9 @@ unregister_name(Name) -> ok; _ -> Fun = fun(Nodes) -> - gen_server:multi_call(Nodes, - global_name_server, - {unregister, Name}), + _ = gen_server:multi_call(Nodes, + global_name_server, + {unregister, Name}), ok end, ?trace({unregister_name, self(), Name}), @@ -298,9 +298,9 @@ re_register_name(Name, Pid) when is_pid(Pid) -> re_register_name(Name, Pid, Method0) when is_pid(Pid) -> Method = allow_tuple_fun(Method0), Fun = fun(Nodes) -> - gen_server:multi_call(Nodes, - global_name_server, - {register, Name, Pid, Method}), + _ = gen_server:multi_call(Nodes, + global_name_server, + {register, Name, Pid, Method}), yes end, ?trace({re_register_name, self(), Name, Pid, Method}), @@ -334,10 +334,10 @@ register_name_external(Name, Pid, Method) when is_pid(Pid) -> Fun = fun(Nodes) -> case where(Name) of undefined -> - gen_server:multi_call(Nodes, - global_name_server, - {register_ext, Name, Pid, - Method, node()}), + _ = gen_server:multi_call(Nodes, + global_name_server, + {register_ext, Name, Pid, + Method, node()}), yes; _Pid -> no end @@ -398,7 +398,7 @@ del_lock(Id) -> Nodes :: [node()]. del_lock({_ResourceId, _LockRequesterId} = Id, Nodes) -> ?trace({del_lock, {me,self()}, Id, {nodes,Nodes}}), - gen_server:multi_call(Nodes, global_name_server, {del_lock, Id}), + _ = gen_server:multi_call(Nodes, global_name_server, {del_lock, Id}), true. -type trans_fun() :: function() | {module(), atom()}. @@ -1058,7 +1058,8 @@ check_replies([{_Node, false=Reply} | _T], _Id, [_]) -> check_replies([{_Node, false=Reply} | _T], Id, Replies) -> TrueReplyNodes = [N || {N, true} <- Replies], ?trace({check_replies, {true_reply_nodes, TrueReplyNodes}}), - gen_server:multi_call(TrueReplyNodes, global_name_server, {del_lock, Id}), + _ = gen_server:multi_call( + TrueReplyNodes, global_name_server, {del_lock, Id}), Reply; check_replies([], _Id, _Replies) -> true. diff --git a/lib/kernel/src/logger_olp.erl b/lib/kernel/src/logger_olp.erl index 068fbe447b..1379f8cf54 100644 --- a/lib/kernel/src/logger_olp.erl +++ b/lib/kernel/src/logger_olp.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2017-2020. All Rights Reserved. +%% Copyright Ericsson AB 2017-2022. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -193,11 +193,13 @@ init([Name,Module,Args,Options]) -> gen_server:enter_loop(?MODULE, [], State); Error -> unregister(Name), - proc_lib:init_ack(Error) + proc_lib:init_ack(Error), + ignore %% Just to shut Dialyzer up - ignored catch _:Error -> unregister(Name), - proc_lib:init_ack(Error) + proc_lib:init_ack(Error), + ignore %% Just to shut Dialyzer up - ignored end. %% This is the synchronous load event. diff --git a/lib/kernel/src/rpc.erl b/lib/kernel/src/rpc.erl index 52de9527ef..c3b4b8f1b1 100644 --- a/lib/kernel/src/rpc.erl +++ b/lib/kernel/src/rpc.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2021. All Rights Reserved. +%% Copyright Ericsson AB 1996-2022. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -119,10 +119,13 @@ init([]) -> process_flag(trap_exit, true), {ok, #{nodes_observer => start_nodes_observer()}}. --spec handle_call(term(), term(), state()) -> - {'noreply', state()} | - {'reply', term(), state()} | - {'stop', 'normal', 'stopped', state()}. +-spec handle_call( + term(), + gen_server:from() | {?NAME,term()}, + state()) -> + {'noreply', state()} | + {'reply', term(), state()} | + {'stop', 'normal', 'stopped', state()}. handle_call({call, Mod, Fun, Args, Gleader}, To, S) -> %% Spawn not to block the rex server. @@ -142,7 +145,7 @@ handle_call({call, Mod, Fun, Args, Gleader}, To, S) -> Ref -> ok end; _ -> - gen_server:reply(To, Reply) + reply(To, Reply) end end, try @@ -190,7 +193,7 @@ handle_info({'DOWN', M, process, _, Reason}, S) -> undefined -> {noreply, S}; {_, _} = To -> - gen_server:reply(To, {badrpc, {'EXIT', Reason}}), + reply(To, {badrpc, {'EXIT', Reason}}), {noreply, maps:remove(M, S)} end; handle_info({From, {sbcast, Name, Msg}}, S) -> @@ -211,7 +214,7 @@ handle_info({From, {send, Name, Msg}}, S) -> {noreply, S}; handle_info({From, {call, Mod, Fun, Args, Gleader}}, S) -> %% Special for hidden C node's, uugh ... - To = {From, ?NAME}, + To = {?NAME, From}, NewGleader = case Gleader of send_stdout_to_caller -> @@ -224,7 +227,7 @@ handle_info({From, {call, Mod, Fun, Args, Gleader}}, S) -> {noreply, _NewS} = Return -> Return; {reply, Reply, NewS} -> - gen_server:reply(To, Reply), + reply(To, Reply), {noreply, NewS} end; handle_info({From, features_request}, S) -> @@ -246,6 +249,13 @@ code_change(_, S, _) -> %% RPC aid functions .... +reply({?NAME, From}, Reply) -> + From ! {?NAME, Reply}, + ok; +reply({From, _} = To, Reply) when is_pid(From) -> + gen_server:reply(To, Reply). + + execute_call(Mod, Fun, Args) -> try {return, Return} = erpc:execute_call(Mod, Fun, Args), @@ -894,7 +904,7 @@ cnode_call_group_leader_loop(State) -> From ! {io_reply, ReplyAs, Reply}, cnode_call_group_leader_loop(NewState); {stop, StopRequesterPid, Ref, To, Reply} -> - gen_server:reply(To, Reply), + reply(To, Reply), StopRequesterPid ! Ref, ok; _Unknown -> -- 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