win32 ResetEvent不会重置手动事件

时间:2013-12-04 23:06:23

标签: c++ winapi events

我有一个手动重新发送,总是发出信号。当我告诉它时它不会重置(并且它在CreateEvent中作为手动重置事件正确创建)。通常设置事件的代码是一个尚未启动的可执行文件。

while (1) {
    lStatus = GetObjStatus(m_pObj);
    if (lStatus == ST_UP)
        DoStuff();

    DWORD wait = WaitForSingleObject(handle, 5000);
    if (wait == WAIT_OBJECT_0) {
        DWORD d = ResetEvent(handle);
        FTRACE("MainLoop() Wakeup signaled %d", d);
    }
}

即使事件被重置但从未设置,此代码也会非常快速地生成数百万条跟踪。

0 个答案:

没有答案