[VxWorks] 求助-VxWorks任务异常退出

wutieying   2007-6-29 09:00 楼主
一个任务,有taskSafe/taskUnsafe保护,在保护的代码段内调用connectWithTimeout。通过打印发现,即使有taskSafe保护,任务仍然在connectWithTimeout以后异常退出了。之前之后都没有任何征兆,所有状态都是正确的!另外,该任务是动态加载的模块生成的。
从来没有遇到这样的情况,求助大家,有没有人遇到并解决过此问题?谢谢

回复评论 (7)

没有人回答么? :(
点赞  2007-7-2 10:53
任务有没有加 while(1)循环?
点赞  2007-7-5 01:32
加打印或者taskSuspend来调试下,看在哪退出的就可以了
点赞  2007-7-5 11:23
while(1)循环是什么意思?有什么影响?
估计是connectWithTimeout中的select阻塞以后被唤醒时出的问题。有可能任务控制块被破坏了。
点赞  2007-7-5 14:46
看起来不像任务块被破坏(一般你也破坏不到)。可能是任务执行完了自己退出的,也就是没有while(1)循环一个意思。
   taskSafe只是保护不被其它任务删除。当任务运行到最后一行的时候,会隐含调用一个taskDelete,而taskDelete的实现是,如果tid=0(当前任务),则调用taskUnsafe,直到删除自身任务为止。
点赞  2007-7-10 17:18
通过调试信息看到确实不是任务自己退出的。这一点可以非常确定。
点赞  2007-7-12 09:55

8楼 net 

算了,懒得研究了,结帖吧。
点赞  2007-7-12 09:57
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复