首页 > 解决方案 > WaitForSingleObject 函数的 Boost 实现

问题描述

我正在移植一些特定于 Windows 的代码来提升。

我有以下功能:

//m_hTesterPresent is a boost::thread*

unsigned long Class::fn_StopTesterPresentThread()
{
    // Check if tester-present is running, close it
    if (m_hTesterPresent)
    {
        m_bTesterPresentRunning = FALSE;

        WaitForSingleObject(m_hTesterPresent, INFINITE);        

        m_hTesterPresent->~thread();
        //CloseHandle(m_hTesterPresent);

        m_hTesterPresent = NULL;
    }

    return ACTION_SUCCESS;
}

我将如何等待m_hTesterPresent-handled 线程完成,模拟WaitForSingleObjectWindows 函数?

任何帮助表示赞赏!

标签: c++boost

解决方案


m_hTesterPresent->~thread()? 你认为那有什么作用?我们没有看到所有代码,但这几乎肯定是错误的。

你最后一句话的答案是,boost::thread::join但那~thread一行表明你可能使用boost::thread不正确,所以这join似乎失败了。


推荐阅读