一个vxworks的问题,请大家帮帮忙
我在调试单板的时候发现了一个问题请大家帮忙看看怎么解决。
单板上的应用程序是一个大循环,由于需要死机重启的功能,还设置了看门狗,定时4秒。单板在测试的时候会不断的输出调试信息,而且信息量很大。如果打开了telnet连接,此时telnet就是标准输出了,单板跑几天都没有问题。但是如果在输出调试信息的时候关闭了telnet,单板跑一会儿就死掉重启了。重启的原因应该就是看门狗超时了。
于是我怀疑是打印信息的关系,在一条printf()语句的前后添加了时间计数,显示的结果是:打开telnet时,printf语句的执行时间不超过1ms,但是如果关闭了telnet(没有任何标准输出了),printf语句的执行时间超过了20ms。显然在里面有超时机制在起作用。我想问的是,怎样不让printf语句等待而直接返回?