При остановке дочернего процесса с помощью ctrl + Z, основной процесс пропускает одно нажатие, что с этим можно сделать?

Я работаю через не канонический режим.
Но когда cat приостанавливается с помощью ctrl + Z моя shell пропускает одно любое нажатие клавиши.
Флаги перевода в не канонический режим:
~(ICANON | ECHO | ISIG);
Перед вызовам восстанавливаю предыдущее значение, а после
waitpid(pid, &stat_loc, WUNTRACED) != -1
включаю снова не канонический режим, может кто знает из-за чего у меня данная проблема?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
hapr-lera
@hapr-lera Автор вопроса
Нашел решение не уверен, что нормальное...
При остановке дочернего процесса надо ограничивать его по времени и тогда, а после первого удачного считывания можно восстановить на по умолчанию.
tty.c_cc[VMIN] = 0;
tty.c_cc[VTIME] = 1;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы