示例#1
0
void SuiteThreadFunctor::Run()
{
    try {
        TEST(iFunctor->TryWait() == false);
        iFunctor->Signal();
        TEST(iFunctor->TryWait() == true);
        iFunctor->CheckCurrentForKill();
        iFunctor->Kill();
        TEST_THROWS(iFunctor->CheckCurrentForKill(), ThreadKill);
        TEST_THROWS(iFunctor->Wait(), ThreadKill);
        TEST_THROWS(iFunctor->TryWait(), ThreadKill);
    }
    catch(ThreadKill&) {
        ASSERT(0);
    }
    iSem->Signal();
}