如何解决Vxworks网络堆栈,作业队列和内存池
出于安全考虑,我正在研究Vxworks6.9网络堆栈上的清除状态。我正在使用vxsim目标和工作台指南中的示例可下载内核模块ball项目,并试图通过销毁tNet0并重新初始化,在tNet0的jobQueue /上调用free()来清除堆栈中的任何部分删除作业,或释放memory_pool / memory_slab / netJobPool结构。
我首先尝试通过以下方式删除tNet0(以前称为tNetTask):先调用taskDelete(),然后调用netLibInitialize()(我相信除了在启动时不应该调用它),但是我无法ping通IP地址,因此似乎无声地失败了
调用free(&netDaemons [0] .jobQueue)似乎并没有停止我用于测试的正在进行的TCP连接,因此网络堆栈未受影响。真的,我认为这是因为在正确的上下文中(在启动时首次调用守护程序初始化期间)无法访问该变量。
最后,我正在探索释放tNet0或其工作队列使用的内存池,但似乎无法访问memoryPoolDestroy(poolID)或其他所需的函数,因为vxworks-6.9 / target / h / wrn的相关上下文/coreip/jobQueueLib.h无法访问(违反段)。
有没有建议的方法来清除网络堆栈的状态?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。