假设使用构造:while {[gets $id line]>0} {...}
.现在,如果单行大小大于输入缓冲区大小怎么办?
只要内存可用,Tcl 就会在没有收到换行符时缓冲数据,当内存不可用时会崩溃。由于这可以用于 DoS 攻击,提示 #287 引入了chan pending
命令。此命令可用于在缓冲数据超过限制时执行操作。
注意:chan pending
仅在与非阻塞通道一起使用时才有帮助。