mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 07:14:10 +08:00
Move AsyncEventsHandler cleanup to last executed asyncProcess
Change-Id: Icf31ea10a90bd8affc11640c0588cb996241927d
This commit is contained in:
committed by
sys_ocldev
parent
3297cd8342
commit
7cbc35a45a
@@ -180,7 +180,7 @@ TEST_F(AsyncEventsHandlerTests, givenDoubleRegisteredEventWhenListIsProcessedAnd
|
||||
EXPECT_TRUE(handler->peekIsListEmpty());
|
||||
}
|
||||
|
||||
TEST_F(AsyncEventsHandlerTests, givenEventsNotHandlerByHanlderWhenDestructingThenUnreferenceAll) {
|
||||
TEST_F(AsyncEventsHandlerTests, givenEventsNotHandledByHandlderWhenDestructingThenUnreferenceAll) {
|
||||
auto myHandler = new MockHandler();
|
||||
event1->setTaskStamp(Event::eventNotReady, 0);
|
||||
event2->setTaskStamp(Event::eventNotReady, 0);
|
||||
@@ -205,6 +205,32 @@ TEST_F(AsyncEventsHandlerTests, givenEventsNotHandlerByHanlderWhenDestructingThe
|
||||
event2->setStatus(CL_SUBMITTED);
|
||||
}
|
||||
|
||||
TEST_F(AsyncEventsHandlerTests, givenEventsNotHandledByHandlderWhenAsyncExecutionInterruptedThenUnreferenceAll) {
|
||||
event1->setTaskStamp(Event::eventNotReady, 0);
|
||||
event2->setTaskStamp(Event::eventNotReady, 0);
|
||||
event1->addCallback(&this->callbackFcn, CL_SUBMITTED, &counter);
|
||||
event2->addCallback(&this->callbackFcn, CL_SUBMITTED, &counter);
|
||||
|
||||
handler->registerEvent(event1);
|
||||
handler->process();
|
||||
handler->registerEvent(event2);
|
||||
|
||||
EXPECT_FALSE(handler->peekIsListEmpty());
|
||||
EXPECT_FALSE(handler->peekIsRegisterListEmpty());
|
||||
|
||||
EXPECT_EQ(3, event1->getRefInternalCount());
|
||||
EXPECT_EQ(3, event2->getRefInternalCount());
|
||||
handler->allowAsyncProcess.store(false);
|
||||
handler->asyncProcess(); // enter and exit because of allowAsyncProcess == false
|
||||
EXPECT_EQ(2, event1->getRefInternalCount());
|
||||
EXPECT_EQ(2, event2->getRefInternalCount());
|
||||
EXPECT_TRUE(handler->peekIsListEmpty());
|
||||
EXPECT_TRUE(handler->peekIsRegisterListEmpty());
|
||||
|
||||
event1->setStatus(CL_SUBMITTED);
|
||||
event2->setStatus(CL_SUBMITTED);
|
||||
}
|
||||
|
||||
TEST_F(AsyncEventsHandlerTests, dontCreateThreadByDefault) {
|
||||
MockHandler myHandler;
|
||||
EXPECT_EQ(nullptr, myHandler.thread.get());
|
||||
|
||||
Reference in New Issue
Block a user