Skip to content

Commit 4ab8225

Browse files
committed
Properly clean spurious entries in waiting list
1 parent 455eb4c commit 4ab8225

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

lib/elixir/lib/kernel/parallel_compiler.ex

+2-1
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,10 @@ defmodule Kernel.ParallelCompiler do
151151

152152
# Sometimes we may have spurious entries in the waiting
153153
# list because someone invoked try/rescue UndefinedFunctionError
154+
new_files = List.delete(files, down_pid)
154155
new_waiting = List.keydelete(waiting, down_pid, 0)
155156
new_queued = List.keydelete(queued, down_pid, 0)
156-
spawn_compilers(files, original, output, callbacks, new_waiting, new_queued, schedulers, result)
157+
spawn_compilers(new_files, original, output, callbacks, new_waiting, new_queued, schedulers, result)
157158

158159
{ :DOWN, down_ref, :process, _down_pid, { :failure, kind, reason, stacktrace } } ->
159160
handle_failure(down_ref, kind, reason, stacktrace, files, waiting, queued)

0 commit comments

Comments
 (0)