Короче переписал все асинхронно. Никаких ожиданий ввода, ввел - обрабатываем, не ввел - ни у фиг с ним
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший