From a4a6f9b76be59d3cfb6d32646a95d62366c70c00 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 31 Jan 2012 22:30:58 +0100 Subject: ss7_links: no longer 'link' processes creating a linkset This just produced bogus messages about cleaning up tables, which was not being done anymore anyway. --- src/ss7_links.erl | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/ss7_links.erl b/src/ss7_links.erl index 0c13358..a6328f8 100644 --- a/src/ss7_links.erl +++ b/src/ss7_links.erl @@ -220,15 +220,14 @@ is_pc_local(Pc) when is_integer(Pc) -> end. % process a received message on an underlying link -mtp3_rx(Mtp3 = #mtp3_msg{}) -> - mtp3_rx(osmo_util:make_prim('MTP', 'TRANSFER', - indication, Mtp3)); +mtp3_rx(Mtp3) when is_record(Mtp3, mtp3_msg) -> + mtp3_rx(osmo_util:make_prim('MTP', 'TRANSFER', indication, Mtp3)); % FIXME: PAUSE/RESUME/STATUS handling -mtp3_rx(#primitive{subsystem='MTP', spec_name='PAUSE', gen_name=indication}) -> +mtp3_rx(#primitive{subsystem='MTP', gen_name='PAUSE', spec_name=indication}) -> ok; -mtp3_rx(#primitive{subsystem='MTP', spec_name='RESUME', gen_name=indication}) -> +mtp3_rx(#primitive{subsystem='MTP', gen_name='RESUME', spec_name=indication}) -> ok; -mtp3_rx(#primitive{subsystem='MTP', spec_name='STATUS', gen_name=indication}) -> +mtp3_rx(#primitive{subsystem='MTP', gen_name='STATUS', spec_name=indication}) -> ok; mtp3_rx(P = #primitive{parameters=#mtp3_msg{service_ind=Serv}}) -> case ets:lookup(mtp3_services, Serv) of @@ -258,11 +257,12 @@ mtp3_tx(Mtp3 = #mtp3_msg{routing_label = RoutLbl}, Link) -> mtp3_tx(Mtp3 = #mtp3_msg{routing_label = RoutLbl}) -> #mtp3_routing_label{dest_pc = Dpc, sig_link_sel = Sls} = RoutLbl, % discover the link through which we shall send - case get_pid_for_dpc_sls(Dpc, Sls) of + case ss7_routes:route_dpc(Dpc) of {error, Error} -> {error, Error}; - {ok, Pid} -> - gen_server:cast(Pid, + {ok, Linkset} -> + {ok, Pid} = get_pid_for_link(Linkset, Sls), + gen_server:cast(Pid, osmo_util:make_prim('MTP', 'TRANSFER', request, Mtp3)) end. @@ -321,7 +321,11 @@ handle_call({register_linkset, {LocalPc, RemotePc, Name}}, % We need to trap the user Pid for EXIT % in order to automatically remove any links/linksets if % the user process dies - link(FromPid), + % + % we decided to keep Linksets as something like global + % configuration around and not kill them in case the user who + % created them has died. + %link(FromPid), {reply, ok, S} end; -- cgit v1.2.3