禁用DSUSP - 终端控制

时间:2011-10-13 22:29:53

标签: c terminal

首先,什么是DSUSP?

我正在尝试使用以下代码行禁用它:

tntty.c_cc[VDSUSP] = _POSIX_VDISABLE;  

但是我收到“VDSUSP未声明”的错误

1 个答案:

答案 0 :(得分:1)

Linux termios(3)手册页因此描述了它(强调我的):

  

VDSUSP(不在POSIX中; 在Linux下不支持; 031,EM,   Ctrl-Y)延迟暂停字符:当发送SIGTSTP信号时   用户程序读取字符。在IEXTEN时认可   和ISIG设置,系统支持作业控制,然后不支持   作为输入传递。

由于这不是POSIX指定的索引,您应该测试它的存在,并且只尝试在定义它的平台上禁用它:

#ifdef VDSUSP
tntty.c_cc[VDSUSP] = _POSIX_VDISABLE;  
#endif