anchor.diff:              Jobs = rebar:get_jobs(Config),
               ?DEBUG("Starting ~B compile worker(s)~n", [Jobs]),
               Pids = [spawn_monitor(F) || _I <- lists:seq(1,Jobs)],
  -            compile_queue(Pids, RestFiles)
  +            compile_queue(Config, Pids, RestFiles)
       end.
   
   run(Config, FirstFiles, SourceDir, SourceExt, TargetDir, TargetExt,
  
positive.code: 
  format_errors(Config, _MainSource, Extra, Errors) ->
      [begin
           AbsSource = case rebar_utils:processing_base_dir(Config) of
                           true ->
                               Source;
                           false ->
                               filename:absname(Source)
                       end,
           [format_error(AbsSource, Extra, Desc) || Desc <- Descs]
       end
       || {Source, Descs} <- Errors].
  
negative.code:         skipped ->
              ?INFO("Skipped ~s\n", [Source]);
          Error ->
              ?CONSOLE("Compiling ~s failed:\n",
                       [maybe_absname(Config, Source)]),
              maybe_report(Error),
              ?DEBUG("Compilation failed: ~p\n", [Error]),
              ?FAIL
      end,
      compile_each(Rest, Config, CompileFn).
  
  compile_queue(_Config, [], []) ->
      ok;
  compile_queue(Config, Pids, Targets) ->
      receive
          {next, Worker} ->
              case Targets of
                  [] ->
                      Worker ! empty,
                      compile_queue(Config, Pids, Targets);
                  [Source | Rest] ->
                      Worker ! {compile, Source},
                      compile_queue(Config, Pids, Rest)
              end;
  
          {fail, [_, {source, Source}}=Error] ->
              ?CONSOLE("Compiling ~s failed:\n",
                       [maybe_absname(Config, Source)]),
              maybe_report(Error),
              ?DEBUG("Worker compilation failed: ~p\n", [Error]),
              ?FAIL;
  