qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1 6/9] chardev: add appropriate getting address


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH v1 6/9] chardev: add appropriate getting address
Date: Wed, 30 Mar 2022 14:32:18 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

29.03.2022 00:15, Maxim Davydov wrote:
Attempt to get address after initialization shouldn't fail on assert in
the qapi automatically generated code. As a possible solution, it can
return null type.

But at some point this address appears? May be we try to query it too early, or 
we need some more initialization steps?

Isn't it better to report failure, when we try to query things that are not yet 
initialized?


Signed-off-by: Maxim Davydov <maxim.davydov@openvz.org>
---
  chardev/char-socket.c | 9 +++++++++
  1 file changed, 9 insertions(+)

diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index fab2d791d4..f851e3346b 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -33,6 +33,7 @@
  #include "qapi/clone-visitor.h"
  #include "qapi/qapi-visit-sockets.h"
  #include "qemu/yank.h"
+#include "qapi/qmp/qnull.h"
#include "chardev/char-io.h"
  #include "chardev/char-socket.h"
@@ -1509,6 +1510,14 @@ char_socket_get_addr(Object *obj, Visitor *v, const char 
*name,
  {
      SocketChardev *s = SOCKET_CHARDEV(obj);
+ QNull *null = NULL;
+
+    /* Return NULL type if getting addr was called after init */
+    if (!s->addr) {
+        visit_type_null(v, NULL, &null, errp);
+        return;
+    }
+
      visit_type_SocketAddress(v, name, &s->addr, errp);
  }


--
Best regards,
Vladimir



reply via email to

[Prev in Thread] Current Thread [Next in Thread]