[PATCH v2 06/12] test: message: Remove incorrect slow receiver test
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Jan 23 02:12:43 CET 2024
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 at ideasonboard.com>
Reviewed-by: Milan Zamazal <mzamazal at redhat.com>
---
Changes since v1:
- Fix typo in commit message
---
test/message.cpp | 34 ----------------------------------
1 file changed, 34 deletions(-)
diff --git a/test/message.cpp b/test/message.cpp
index 0e76f323e3b9..a34e0f0b5e10 100644
--- a/test/message.cpp
+++ b/test/message.cpp
@@ -93,25 +93,6 @@ private:
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
{
protected:
@@ -148,21 +129,6 @@ protected:
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
* should be delivered correctly, without crashes or memory
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list