code: def run_tidy(args, tmpdir, build_path, queue, lock, failed_files):
    
    while True:
      name = queue.get()
      invocation = get_tidy_invocation(name, args.clang_tidy_binary, args.checks,
                                       tmpdir, build_path, args.header_filter,
                                       args.extra_arg, args.extra_arg_before,
                                       args.quiet, args.config)
  
      proc = subprocess.Popen(invocation, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
      output, err = proc.communicate()
      if proc.returncode != 0:
        failed_files.append(name)
      with lock:
        if len(output) > 0:
          sys.stdout.write(output.decode('utf-8') + '\n')
        if len(err) > 0:
          sys.stderr.write(err.decode('utf-8') + '\n')
      queue.task_done()
docs: Takes filenames out of queue and runs clang-tidy on them.