remove a transaction
This commit is contained in:
parent
9584f2a990
commit
e08dbf82f6
|
@ -212,8 +212,7 @@ code_change(_OldVsn, State, _Extra) ->
|
|||
add_subscriber_(Topic, SubPid) ->
|
||||
case ets:member(subscriber, Topic) of
|
||||
false ->
|
||||
mnesia:transaction(fun add_topic_/1, [Topic]),
|
||||
emqttd_router:add_route(Topic, node()),
|
||||
mnesia:transaction(fun add_topic_route_/2, [Topic, node()]),
|
||||
setstats(topic);
|
||||
true ->
|
||||
ok
|
||||
|
@ -224,13 +223,15 @@ del_subscriber_(Topic, SubPid) ->
|
|||
ets:delete_object(subscriber, {Topic, SubPid}),
|
||||
case ets:lookup(subscriber, Topic) of
|
||||
[] ->
|
||||
emqttd_router:del_route(Topic, node()),
|
||||
mnesia:transaction(fun del_topic_/1, [Topic]),
|
||||
mnesia:transaction(fun del_topic_route_/2, [Topic, node()]),
|
||||
setstats(topic);
|
||||
[_|_] ->
|
||||
ok
|
||||
end.
|
||||
|
||||
add_topic_route_(Topic, Node) ->
|
||||
add_topic_(Topic), emqttd_router:add_route(Topic, Node).
|
||||
|
||||
add_topic_(Topic) ->
|
||||
add_topic_(Topic, []).
|
||||
|
||||
|
@ -241,6 +242,9 @@ add_topic_(Topic, Flags) ->
|
|||
[_] -> ok
|
||||
end.
|
||||
|
||||
del_topic_route_(Topic, Node) ->
|
||||
emqttd_router:del_route(Topic, Node), del_topic_(Topic).
|
||||
|
||||
del_topic_(Topic) ->
|
||||
case emqttd_router:has_route(Topic) of
|
||||
true -> ok;
|
||||
|
|
Loading…
Reference in New Issue