mirror of
https://github.com/processone/ejabberd.git
synced 2024-12-26 17:38:45 +01:00
Set 'read_concurrency' for some ETS tables
This commit is contained in:
parent
2febbe5ffb
commit
6fa55e7c38
@ -894,7 +894,8 @@ has_option(Opt) ->
|
|||||||
get_option(Opt, fun(_) -> true end, false).
|
get_option(Opt, fun(_) -> true end, false).
|
||||||
|
|
||||||
init_module_db_table(Modules) ->
|
init_module_db_table(Modules) ->
|
||||||
catch ets:new(module_db, [named_table, public, bag]),
|
catch ets:new(module_db, [named_table, public, bag,
|
||||||
|
{read_concurrency, true}]),
|
||||||
%% Dirty hack for mod_pubsub
|
%% Dirty hack for mod_pubsub
|
||||||
ets:insert(module_db, {mod_pubsub, mnesia}),
|
ets:insert(module_db, {mod_pubsub, mnesia}),
|
||||||
ets:insert(module_db, {mod_pubsub, sql}),
|
ets:insert(module_db, {mod_pubsub, sql}),
|
||||||
|
@ -189,7 +189,7 @@ run_fold(Hook, Host, Val, Args) ->
|
|||||||
%% {stop, Reason}
|
%% {stop, Reason}
|
||||||
%%----------------------------------------------------------------------
|
%%----------------------------------------------------------------------
|
||||||
init([]) ->
|
init([]) ->
|
||||||
ets:new(hooks, [named_table]),
|
ets:new(hooks, [named_table, {read_concurrency, true}]),
|
||||||
{ok, #state{}}.
|
{ok, #state{}}.
|
||||||
|
|
||||||
%%----------------------------------------------------------------------
|
%%----------------------------------------------------------------------
|
||||||
|
@ -201,7 +201,8 @@ init([]) ->
|
|||||||
lists:foreach(fun host_up/1, ?MYHOSTS),
|
lists:foreach(fun host_up/1, ?MYHOSTS),
|
||||||
ejabberd_hooks:add(host_up, ?MODULE, host_up, 10),
|
ejabberd_hooks:add(host_up, ?MODULE, host_up, 10),
|
||||||
ejabberd_hooks:add(host_down, ?MODULE, host_down, 100),
|
ejabberd_hooks:add(host_down, ?MODULE, host_down, 100),
|
||||||
catch ets:new(?IQTABLE, [named_table, public, ordered_set]),
|
catch ets:new(?IQTABLE, [named_table, public, ordered_set,
|
||||||
|
{read_concurrency, true}]),
|
||||||
update_table(),
|
update_table(),
|
||||||
ejabberd_mnesia:create(?MODULE, iq_response,
|
ejabberd_mnesia:create(?MODULE, iq_response,
|
||||||
[{ram_copies, [node()]},
|
[{ram_copies, [node()]},
|
||||||
|
@ -393,7 +393,7 @@ c2s_handle_info(State, _) ->
|
|||||||
init([]) ->
|
init([]) ->
|
||||||
process_flag(trap_exit, true),
|
process_flag(trap_exit, true),
|
||||||
lists:foreach(fun(Mod) -> Mod:init() end, get_sm_backends()),
|
lists:foreach(fun(Mod) -> Mod:init() end, get_sm_backends()),
|
||||||
ets:new(sm_iqtable, [named_table, public]),
|
ets:new(sm_iqtable, [named_table, public, {read_concurrency, true}]),
|
||||||
ejabberd_hooks:add(host_up, ?MODULE, host_up, 50),
|
ejabberd_hooks:add(host_up, ?MODULE, host_up, 50),
|
||||||
ejabberd_hooks:add(host_down, ?MODULE, host_down, 60),
|
ejabberd_hooks:add(host_down, ?MODULE, host_down, 60),
|
||||||
lists:foreach(fun host_up/1, ?MYHOSTS),
|
lists:foreach(fun host_up/1, ?MYHOSTS),
|
||||||
|
@ -85,7 +85,8 @@ init([]) ->
|
|||||||
ejabberd_hooks:add(host_down, ?MODULE, stop_modules, 70),
|
ejabberd_hooks:add(host_down, ?MODULE, stop_modules, 70),
|
||||||
ets:new(ejabberd_modules,
|
ets:new(ejabberd_modules,
|
||||||
[named_table, public,
|
[named_table, public,
|
||||||
{keypos, #ejabberd_module.module_host}]),
|
{keypos, #ejabberd_module.module_host},
|
||||||
|
{read_concurrency, true}]),
|
||||||
{ok, {{one_for_one, 10, 1}, []}}.
|
{ok, {{one_for_one, 10, 1}, []}}.
|
||||||
|
|
||||||
-spec start_child(module(), binary() | global, opts()) -> ok | {error, any()}.
|
-spec start_child(module(), binary() | global, opts()) -> ok | {error, any()}.
|
||||||
|
Loading…
Reference in New Issue
Block a user