diff options
Diffstat (limited to 'p11p-daemon/src/p11p_remote_manager.erl')
-rw-r--r-- | p11p-daemon/src/p11p_remote_manager.erl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/p11p-daemon/src/p11p_remote_manager.erl b/p11p-daemon/src/p11p_remote_manager.erl index 10b9d22..eabb67f 100644 --- a/p11p-daemon/src/p11p_remote_manager.erl +++ b/p11p-daemon/src/p11p_remote_manager.erl @@ -39,6 +39,7 @@ tokname :: string(), servid :: atom(), modpath :: string(), + modenv :: [], balance :: integer(), pid :: pid() | undefined }). @@ -87,10 +88,10 @@ handle_call({remote_for_token, TokName}, _From, #state{tokens = Tokens} = State) -1 -> {Token#token.remotes, -1} end, - #remote{tokname = TokName, servid = ServId, modpath = ModPath, pid = Pid} = Remote = hd(Remotes), + #remote{tokname = TokName, servid = ServId, modpath = ModPath, modenv = ModEnv, pid = Pid} = Remote = hd(Remotes), case Pid of undefined -> - {ok, NewPid} = p11p_remote:start_link(ServId, TokName, ModPath), + {ok, NewPid} = p11p_remote:start_link(ServId, TokName, ModPath, ModEnv), NewRemote = Remote#remote{pid = NewPid}, NewToken = Token#token{remotes = [NewRemote | tl(Remotes)], balance_count = NewBC}, @@ -177,10 +178,12 @@ remotes(TokName, [H|T], ConfMode, Acc) -> ModName = p11p_config:nameof(H), ServName = "p11p_remote:" ++ TokName ++ ":" ++ ModName, ModPath = p11p_config:module_path(H), + ModEnv = p11p_config:module_env(H), remotes(TokName, T, ConfMode, [#remote{ tokname = TokName, servid = list_to_atom(ServName), modpath = ModPath, + modenv = ModEnv, balance = balance(ConfMode, length(T) + 1) } | Acc]). |