def terminate(self):
        if self.is_alive() and self._loop:
            self._loop.call_soon_threadsafe(self._loop.stop)
If no result is available, a second call to wait(timeout) will also
dataset/ETHPy150Open quantmind/pulsar/pulsar/async/threads.py/Thread.terminate--crossover with--dataset/ETHPy150Open itamarst/crochet/crochet/tests/test_api.py/EventualResultTests.test_timeout_twice