CoWaitForMultipleHandles and WaitForSingleObjectExdont work for me

Respondido CoWaitForMultipleHandles and WaitForSingleObjectExdont work for me

  • Wednesday, March 14, 2012 12:42 AM
     
     

    I have created a thread which does polling to a service at regular intervals. To introduce the delay between successive polls, I am trying to use the above methods.

    HANDLE m_event;

    DWORD dwsignalled;

     // Create an event that will never happen.
      m_event= CreateEventEx(0, FALSE, FALSE, 0);

    CoWaitForMultipleHandles(COWAIT_WAITALL, 60*1000, 1, &m_event, &dwsignalled);

    But this does not seem to block the thread.

    I also tried DWORD wait = WaitForSingleObjectEx(m_event, MAX_WAIT_DELAY_MS, false);

    That does not work either.


    • Edited by amshinde Wednesday, March 14, 2012 12:42 AM
    •  

All Replies

  • Thursday, March 15, 2012 10:11 PM
    Moderator
     
     Answered Has Code

    Have you considered the ThreadPoolTimer::CreateTimer to accomplish this polling? The Thread pool sample demonstrates the use.

    Try this to get the WaitForSingleObjectEx call to work as desired:

    HANDLE m_event;
    m_event= CreateEventEx(NULL, NULL, CREATE_EVENT_MANUAL_RESET, EVENT_ALL_ACCESS);
    WaitForSingleObjectEx(m_event, 60000, false);
    

    Thanks!


    David Lamb

  • Friday, March 16, 2012 12:12 AM
     
     
    Ya. I did go with the the CreateTimer function. Thanks!