docs: def _mp_run_check(tasks, results, options):
      """
      a helper function for multiprocessing with DistReport.
      """
  
      try:
          for index, change in iter(tasks.get, None):
              # this is the part that takes up all of our time and
              # produces side-effects like writing out files for all of
              # the report formats.
              change.check()
  
              # rather than serializing the completed change (which
              # could be rather large now that it's been realized), we
              # send back only what we want, which is the squashed
              # overview, and throw away the used bits.
              squashed = squash(change, options=options)
              change.clear()
  
              results.put((index, squashed))
  
      except KeyboardInterrupt:
          # prevent a billion lines of backtrace from hitting the user
          # in the face
          return