Windows Server 2003 下 WaitForSingleObject异常

fly4free 2012-09-12 01:12:02
我有一个系统服务,里面用 CreateProcess 来创建一个“工作进程”。

然后用 WaitForSingleObject 等待该进程句柄的通知状态。

经过一段时间测试,发现代码在 某个Windows Server 2003 SP2 下工作不正常。

1. 有的时候进程退出了,但 WaitForSingleObject 没有 返回 WAIT_OBJECT_0,而是 WAIT_FAILED,
GetLastError() 返回 6 (ERROR_INVALID_HANDLE)

2. 有的时候进程并没有退出,但它却 返回 WAIT_OBJECT_0,影响了我的业务流程


情况1是先发现的,后来又出现情况2

我应该给系统再打什么补丁吗?或者在等待通知这个代码处怎么写?

...全文
139 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
看不见的裂痕 2012-09-12
  • 打赏
  • 举报
回复
恭喜楼主解决问题
fly4free 2012-09-12
  • 打赏
  • 举报
回复
再一次通过查阅代码,发现目前的问题是我自己疏忽造成的,最终使得获得的句柄为 NULL,而我没有发现,也没有判断。。。。

不过我在网上找到一个 有关 Win2k3 下 WFSO 有毛病的帖子,估计和我的情况还是不一样。
希望不要遇上问题了~

结贴,由于自己的原因,虽然分不多,蹭者有份~

fly4free 2012-09-12
  • 打赏
  • 举报
回复
我不能死等,我在循环中还等待线程退出事件呢。
看不见的裂痕 2012-09-12
  • 打赏
  • 举报
回复
50ms 你觉得呢?自己的代码呀

一般为了控制好逻辑都infinite的
fly4free 2012-09-12
  • 打赏
  • 举报
回复
我看错了。只有一条,就是第一条,本来进程还在,就返回无效句柄


waitResult = WaitForSingleObject(processChkprogHandle, 50);


难道 50 太小了吗?
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)【采用BPSK或GMSK的Turbo码】MSK、GMS内容概要:本文主要介绍了采用BPSK或GMSK调制方式的Turbo码相关技术研究,重点涵盖GMSK调制下的二比特差分解调方法、Turbo码与BPSK/GMSK调制相结合的系统性能分析,并提供了完整的Matlab代码实现方案。研究内容包括调制解调原理、编码结构设计、误码率仿真及系统优化等关键环节,旨在通过仿真手段验证所提出方案的有效性和可靠性,帮助研究人员深入理解现代数字通信系统中的关键技术和其实现方法。; 适合人群:具备一定通信原理和Matlab编程基础,从事无线通信、信号处理、编码理论等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握GMSK调制与Turbo码结合的系统设计与仿真方法;②学习二比特差分解调算法在实际通信系统中的应用;③通过Matlab代码实现提升对数字调制解调和信道编码技术的理解与实践能力;④为相关课题研究、毕业设计或工程项目提供参考和技术支持。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块运行与调试,对照通信系统基本原理深入理解各环节功能,重点关注调制解调过程与Turbo译码的协同工作机制,并尝试修改参数以观察系统性能变化,从而达到理论与实践相结合的学习效果。

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧