LINUX.ORG.RU

stty виснет

 


0

1

Я пытаюсь в своей программе через system() запустить stty c параметрами для того, чтобы настроить скорость COM-порта (/dev/ttyS0). И (иногда) процесс stty «зависает», соответственно вызов system() не заканчивается никогда.

Разве должны быть какие-то блокирующие процесс операции при настройке параметров порта? Чего оно может ждать? Почему ожидание длится вечность?

Если самому набрать в консоли команду stty с теми же параметрами, то картина аналогична. Процесс stty «висит» и не хочет завершать свою работу.

pathfinder ★★★★
() автор топика
Ответ на: комментарий от pathfinder

через strace запусти и поймешь чего он ждет.

vel ★★★★★
()
Ответ на: комментарий от pathfinder

Процесс stty «висит» и не хочет завершать свою работу.

NetworkManager есть ? эта гадость лезет в tty устройства и пытается определить есть ли там с другой стороны модем посылая в порты AT мусор и долго ждет ответа по таймауту удерживая десриптор порта открытым. В принципе это не должно вызывать проблем но драйверы не боги пишут - может возникнуть взаимная блокировка.

anonymous
()
Ответ на: комментарий от anonymous

И давно NM стал посматривать на ttyS*?

не знаю - у меня их давно нет, но скорей всего ты прав NM к нему не обращается, хотя это не совсем от него зависит а от udev

https://askubuntu.com/questions/740584/enabling-serial-network-devices-with-m...

anonymous
()
Ответ на: комментарий от anonymous

у меня их давно нет

физических и у меня нет, а файлы устройств «есть в наличии».

По теме. Чего-то мне кажется, что ТС какие-то недопустимые режимы пытается выставить. Вот контроллер и «зависает». Вроде были темы с такими проблемами. Но это только мне так показалось...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.