Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
3711-kernel-Support-net_ticker_spawn_options-in...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 3711-kernel-Support-net_ticker_spawn_options-in-erl_uds_d.patch of Package erlang
From dee2f1c92c5081a7d02e2abd217baf133acf3ef9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20de=20Bretagne?= <jerome.debretagne@gmail.com> Date: Tue, 14 Sep 2021 00:43:29 +0200 Subject: [PATCH] kernel: Support net_ticker_spawn_options in erl_uds_dist This change allows user to specify extra spawn options for net ticker processes in erl_uds_dist, as introduced with OTP-17617 in PR-5069. --- .../examples/erl_uds_dist/src/erl_uds_dist.erl | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/kernel/examples/erl_uds_dist/src/erl_uds_dist.erl b/lib/kernel/examples/erl_uds_dist/src/erl_uds_dist.erl index 44035e8e42..af7a577b20 100644 --- a/lib/kernel/examples/erl_uds_dist/src/erl_uds_dist.erl +++ b/lib/kernel/examples/erl_uds_dist/src/erl_uds_dist.erl @@ -432,8 +432,7 @@ accept_loop(Kernel, ListeningSocket) -> accept_connection(AcceptPid, DistCtrl, MyNode, Allowed, SetupTime) -> spawn_opt(?MODULE, accept_supervisor, [self(), AcceptPid, DistCtrl, MyNode, Allowed, SetupTime], - %% Spawn on max priority - [link, {priority, max}]). + net_ticker_spawn_options()). accept_supervisor(Kernel, AcceptPid, DistCtrl, MyNode, Allowed, SetupTime) -> ?trace("~p~n", [{?MODULE, accept_connection, self()}]), @@ -474,6 +473,17 @@ accept_supervisor(Kernel, AcceptPid, DistCtrl, MyNode, Allowed, SetupTime) -> end. +%% --------------------------------------------------------------------- +%% Allow to set different spawn options for dist_util processes using +%% the net_ticker_spawn_options configuration parameter. Default is +%% [link, {priority, max}] and these two options cannot be changed. +%% --------------------------------------------------------------------- +net_ticker_spawn_options() -> + Opts = application:get_env(kernel, net_ticker_spawn_options, []), + Opts1 = [{priority, max} | proplists:delete(priority, Opts)], + [link | proplists:delete(link, Opts1)]. + + %% --------------------------------------------------------------------- %% Define common values of the handshake data record, defined in %% kernel/include/dist_util.hrl @@ -666,8 +676,7 @@ getopts(ListeningSocket, Options) -> setup(Node, Type, MyNode, _LongOrShortNames, SetupTime) -> spawn_opt(?MODULE, setup_supervisor, [self(), Node, Type, MyNode, SetupTime], - %% Spawn on max priority - [link, {priority, max}]). + net_ticker_spawn_options()). setup_supervisor(Kernel, Node, Type, MyNode, SetupTime) -> ?trace("~p~n", [{?MODULE, setup, self(), Node}]), -- 2.31.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