test: message: Remove incorrect slow receiver test
The slow receiver test verifies there's no race condition between concurrent message delivery and object deletion. This is not a valid use case in the first place, as objects are not allowed to be deleted from a different thread than the one they are bound to. Remove the incorrect test. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com>
This commit is contained in:
parent
1f5d485bfb
commit
652b47249a
1 changed files with 0 additions and 34 deletions
|
@ -93,25 +93,6 @@ private:
|
||||||
bool success_;
|
bool success_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SlowMessageReceiver : public Object
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
void message(Message *msg)
|
|
||||||
{
|
|
||||||
if (msg->type() != Message::None) {
|
|
||||||
Object::message(msg);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Don't access any member of the object here (including the
|
|
||||||
* vtable) as the object will be deleted by the main thread
|
|
||||||
* while we're sleeping.
|
|
||||||
*/
|
|
||||||
this_thread::sleep_for(chrono::milliseconds(100));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class MessageTest : public Test
|
class MessageTest : public Test
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@ -148,21 +129,6 @@ protected:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Test for races between message delivery and object deletion.
|
|
||||||
* Failures result in assertion errors, there is no need for
|
|
||||||
* explicit checks.
|
|
||||||
*/
|
|
||||||
SlowMessageReceiver *slowReceiver = new SlowMessageReceiver();
|
|
||||||
slowReceiver->moveToThread(&thread_);
|
|
||||||
slowReceiver->postMessage(std::make_unique<Message>(Message::None));
|
|
||||||
|
|
||||||
this_thread::sleep_for(chrono::milliseconds(10));
|
|
||||||
|
|
||||||
delete slowReceiver;
|
|
||||||
|
|
||||||
this_thread::sleep_for(chrono::milliseconds(100));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test recursive calls to Thread::dispatchMessages(). Messages
|
* Test recursive calls to Thread::dispatchMessages(). Messages
|
||||||
* should be delivered correctly, without crashes or memory
|
* should be delivered correctly, without crashes or memory
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue