一个WaitForMultipleObjects的问题,大家帮我分析分析。烦恼好几天了
目前在做的一个项目,使用了展迅(SPREADTRUM)的一个手机平台,在WIN32 Simulator上,平台提供了一个 SendSignal API 向APP Task发消息。现在问题就出在这了:
我自己create 一个thread,这个线程用于接收串口过来的数据,然后把数据通过sendsignal(这个接口没有原码),我的线程使用WaitForMultipleObjects等待串口事件,当我接收完一个数据包后,设置事件,当程序等待到事件后,调用sendsignal向APP Task(另一个任务)发送消息,但是当调用sendsignal时候,程序就crash了,报告一个“first chance exception 0x000005 accsee valiotion”,通过DEBUG汇编代码看,是消息队列出了问题。在没有原码的部分,我发现了使用了criticalsection的操作,当我把WaitForMultipleObjects的超时参数逐渐变小(超时时间边短)后,发现能够发成功的sendsignal会逐渐变多,但是还是会crash,我就不理解了WaitForMultipleObjects只是让我的线程挂起,另一个线程为什么会有如此反应,请大家帮我分析一下。
谢谢,谢谢