def _wait_threads(self):
        # Note that you need two loops, since you can't say which
        # thread will get each sentinel
        for t in self._threads:
            self._to_fetch.put(None)    # sentinel
        for t in self._threads:
            t.join()
        self._threads = []
Put doc_title/page number/etc in text of header/footer.
dataset/ETHPy150Open francelabs/datafari/windows/python/Lib/site-packages/pip/_vendor/distlib/locators.py/SimpleScrapingLocator._wait_threads--crossover with--dataset/ETHPy150Open rst2pdf/rst2pdf/rst2pdf/createpdf.py/HeaderOrFooter.replaceTokens