Handle empty nonces (zx vsn 0.4.5)
This commit is contained in:
+10
-7
@@ -107,13 +107,16 @@ handle_cast({from_pool, #{via := Connector,
|
||||
%% We could check whether we have already received the candidate ...
|
||||
%% For now, stop all workers, restart with new candidate
|
||||
try
|
||||
% Most of the time we don't want to stop the worker. If we do, though, then
|
||||
% we need to do it more carefully than this, or memory usage will triple.
|
||||
% Workers1 = stop_workers(Workers),
|
||||
{Workers2, Cand1} = assign_nonces(Workers, Cand),
|
||||
#st{candidate = Cand2} = S1 = maybe_request_nonces(S#st{candidate = Cand1}),
|
||||
NewWorkers = [spawn_worker(W, Cand2) || W <- Workers2],
|
||||
{noreply, S1#st{workers = NewWorkers}}
|
||||
%% Most of the time we don't want to stop the worker. If we do, though, then
|
||||
%% we need to do it more carefully than this, or memory usage will triple.
|
||||
%% Workers1 = stop_workers(Workers),
|
||||
%%
|
||||
%% Nonces may be [], in which case we need to request new nonces first.
|
||||
#st{candidate = Cand1} = S1 = maybe_request_nonces(S#st{candidate = Cand}),
|
||||
{Workers2, Cand2} = assign_nonces(Workers, Cand1),
|
||||
#st{candidate = Cand3} = S2 = maybe_request_nonces(S1#st{candidate = Cand2}),
|
||||
NewWorkers = [spawn_worker(W, Cand3) || W <- Workers2],
|
||||
{noreply, S2#st{workers = NewWorkers}}
|
||||
catch
|
||||
Cat:Err:St ->
|
||||
?LOG_ERROR("CAUGHT ~p:~p / ~p", [Cat, Err, St]),
|
||||
|
||||
Reference in New Issue
Block a user