@ПавелКозлов В принципе да. Окружение конечно далеко не всегда нужно. обычно если язык поддерживает такие вещи как замыкания, то у него и так есть развитый механизм сохранения окружения, он просто его использует и в данном случае. И конечно цикл событий смотрит не на оставшиеся дескрипторы, а на наличие задач которые в принципе надо выполнять. может у вас какие нибудь коллбеки на таймерах висят, которые без select обрабатываются. Но да, если все закончилось то цикл событий должен завершаться