[libcamera-devel,1/5] test: message: Fix message handling in MessageReceiver

Message ID 20191127084909.10612-1-laurent.pinchart@ideasonboard.com
State Accepted
Commit 1f6342f46bda8d2c4bc693dda01f6b5385e11cf6
Headers show
Series
  • [libcamera-devel,1/5] test: message: Fix message handling in MessageReceiver
Related show

Commit Message

Laurent Pinchart Nov. 27, 2019, 8:49 a.m. UTC
Forward messages that we don't handle to the base Object class, to avoid
both blocking the ThreadMove message and mistaking it as the test
message.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 test/message.cpp | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Jacopo Mondi Nov. 27, 2019, 9:27 a.m. UTC | #1
Hi Laurent,

On Wed, Nov 27, 2019 at 10:49:05AM +0200, Laurent Pinchart wrote:
> Forward messages that we don't handle to the base Object class, to avoid
> both blocking the ThreadMove message and mistaking it as the test
> message.

I've not been following the issue too closely, so I can only partially
grasp it, but all the patches look sane to me

For the series:
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
   j

>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  test/message.cpp | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/test/message.cpp b/test/message.cpp
> index 3775c30a20b3..cf21d5ca50d1 100644
> --- a/test/message.cpp
> +++ b/test/message.cpp
> @@ -37,6 +37,11 @@ public:
>  protected:
>  	void message(Message *msg)
>  	{
> +		if (msg->type() != Message::None) {
> +			Object::message(msg);
> +			return;
> +		}
> +
>  		if (thread() != Thread::current())
>  			status_ = InvalidThread;
>  		else
> --
> Regards,
>
> Laurent Pinchart
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
Niklas Söderlund Nov. 27, 2019, 3:01 p.m. UTC | #2
Hi Laurent,

Thanks for your work.

On 2019-11-27 10:49:05 +0200, Laurent Pinchart wrote:
> Forward messages that we don't handle to the base Object class, to avoid
> both blocking the ThreadMove message and mistaking it as the test
> message.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

> ---
>  test/message.cpp | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/test/message.cpp b/test/message.cpp
> index 3775c30a20b3..cf21d5ca50d1 100644
> --- a/test/message.cpp
> +++ b/test/message.cpp
> @@ -37,6 +37,11 @@ public:
>  protected:
>  	void message(Message *msg)
>  	{
> +		if (msg->type() != Message::None) {
> +			Object::message(msg);
> +			return;
> +		}
> +
>  		if (thread() != Thread::current())
>  			status_ = InvalidThread;
>  		else
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch

diff --git a/test/message.cpp b/test/message.cpp
index 3775c30a20b3..cf21d5ca50d1 100644
--- a/test/message.cpp
+++ b/test/message.cpp
@@ -37,6 +37,11 @@  public:
 protected:
 	void message(Message *msg)
 	{
+		if (msg->type() != Message::None) {
+			Object::message(msg);
+			return;
+		}
+
 		if (thread() != Thread::current())
 			status_ = InvalidThread;
 		else