Задача примерно такая: есть multiprocessing.connection.Listener (по сути, просто TCP сервер), который в бесконечном цикле принимает подключения, для простоты будем считать, что всё это в одном потоке.
Как правильно сделать так, чтобы при установке некоторого флага, например экземпляра threading.Event, он выходил из этого цикла, независимо от входящих подключений. Загвоздка в том, аналога select, который бы принимал примитивы я не нашёл и том, что метод accept у Listener'а блокирующий. Есть приближенное решение с подсовыванием в multiprocessing.connection.wait внутреннего сокета Listener'а и Connection'а, который будет играть роль флага, но это слишком костыльно по мне.