【发布时间】:2019-02-18 13:03:49
【问题描述】:
与本题相关:tty-flip-buffer-push-sends-data-back-to-itself
所以我遇到了同样的问题,我编写了一个驱动程序,并在我的 tty 回调代码中将 tty 写回给用户(正在运行 cat /dev/mytty)。
当我写到 tty 时,它会循环回来,并且 cat 应该把它打印出来。然而,由于 echo 它在它上面永远循环。输入命令stty -F /dev/mytty -echo 可以解决这个问题。
所以我的问题是在我的驱动程序代码中是否有可以更改为不默认回显的设置?也许在tty_probe(...) 或tty_set_operations(...) functinos 中?
【问题讨论】:
-
这种策略真的不应该由随机的 TTY 驱动程序决定。
-
@IanAbbott 这是给我的特定 tty 驱动程序的 :)
-
但是您的驱动程序是否有特定的理由偏离规范?毕竟,如果用户需要做一些奇怪的事情,比如
cat /dev/mytty,他们可以很容易地禁用回显。也许您没有将该设备用作通用 TTY 端口? -
@IanAbbott 我只是想用
cat之类的东西来测试它,但我认为一旦我通过了测试阶段,那就没关系了,因为我将以编程方式与 tty 通信(例如与 posixopen()/close()等...)。我想我更愿意为mytty设备设置回声关闭,因为它没有任何用途。但我总是可以删除那段代码。总而言之 - 除了早期测试之外,不,我没有具体原因 - 除了懒惰?!
标签: c linux linux-kernel linux-device-driver