예제 #1
0
void CUnit_TimerManager::Test_TimerManager(void)
{
    bool blRet = false;
    ActiveTimer objActiveTimer;
    objActiveTimer.activate();

    ACE_Time_Value tvNow = ACE_OS::gettimeofday();
    long lTimerID = objActiveTimer.schedule(m_pTimeTask, NULL, tvNow + ACE_Time_Value(0, 1000));

    if (-1 == lTimerID)
    {
        CPPUNIT_ASSERT_MESSAGE("[Test_TimerManager]schedule is fail.", true == blRet);
    }

    ACE_Time_Value tvSleep(0, 2000);
    ACE_OS::sleep(tvSleep);

    objActiveTimer.deactivate();
    objActiveTimer.close();

    ACE_Time_Value tvSleepClose(0, 1000);
    ACE_OS::sleep(tvSleepClose);
    OUR_DEBUG((LM_INFO, "[CUnit_TimerManager]objActiveTimer is close.\n"));
}