[PATCH v2 1/7] chardev/char-socket: simplify reconnect-ms handling

Vladimir Sementsov-Ogievskiy posted 7 patches 1 month ago
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eduardo Habkost <eduardo@habkost.net>
There is a newer version of this series
[PATCH v2 1/7] chardev/char-socket: simplify reconnect-ms handling
Posted by Vladimir Sementsov-Ogievskiy 1 month ago
We pass it to qmp_chardev_open_socket_client() only to write
to s->reconnect_time_ms. Let's simply set this field earlier,
together with other options.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
---
 chardev/char-socket.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index 62852e3caf..f3bc6290d2 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -1274,18 +1274,16 @@ skip_listen:
 
 
 static int qmp_chardev_open_socket_client(Chardev *chr,
-                                          int64_t reconnect_ms,
                                           Error **errp)
 {
     SocketChardev *s = SOCKET_CHARDEV(chr);
 
-    if (reconnect_ms > 0) {
-        s->reconnect_time_ms = reconnect_ms;
+    if (s->reconnect_time_ms > 0) {
         tcp_chr_connect_client_async(chr);
         return 0;
-    } else {
-        return tcp_chr_connect_client_sync(chr, errp);
     }
+
+    return tcp_chr_connect_client_sync(chr, errp);
 }
 
 
@@ -1378,7 +1376,6 @@ static void qmp_chardev_open_socket(Chardev *chr,
     bool is_tn3270      = sock->has_tn3270  ? sock->tn3270  : false;
     bool is_waitconnect = sock->has_wait    ? sock->wait    : false;
     bool is_websock     = sock->has_websocket ? sock->websocket : false;
-    int64_t reconnect_ms = sock->has_reconnect_ms ? sock->reconnect_ms : 0;
     SocketAddress *addr;
 
     s->is_listen = is_listen;
@@ -1386,6 +1383,8 @@ static void qmp_chardev_open_socket(Chardev *chr,
     s->is_tn3270 = is_tn3270;
     s->is_websock = is_websock;
     s->do_nodelay = do_nodelay;
+    s->reconnect_time_ms = sock->has_reconnect_ms ? sock->reconnect_ms : 0;
+
     if (sock->tls_creds) {
         Object *creds;
         creds = object_resolve_path_component(
@@ -1450,7 +1449,7 @@ static void qmp_chardev_open_socket(Chardev *chr,
             return;
         }
     } else {
-        if (qmp_chardev_open_socket_client(chr, reconnect_ms, errp) < 0) {
+        if (qmp_chardev_open_socket_client(chr, errp) < 0) {
             return;
         }
     }
-- 
2.48.1
Re: [PATCH v2 1/7] chardev/char-socket: simplify reconnect-ms handling
Posted by Marc-André Lureau 1 month ago
On Mon, Oct 13, 2025 at 5:39 PM Vladimir Sementsov-Ogievskiy
<vsementsov@yandex-team.ru> wrote:
>
> We pass it to qmp_chardev_open_socket_client() only to write
> to s->reconnect_time_ms. Let's simply set this field earlier,
> together with other options.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>


> ---
>  chardev/char-socket.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/chardev/char-socket.c b/chardev/char-socket.c
> index 62852e3caf..f3bc6290d2 100644
> --- a/chardev/char-socket.c
> +++ b/chardev/char-socket.c
> @@ -1274,18 +1274,16 @@ skip_listen:
>
>
>  static int qmp_chardev_open_socket_client(Chardev *chr,
> -                                          int64_t reconnect_ms,
>                                            Error **errp)
>  {
>      SocketChardev *s = SOCKET_CHARDEV(chr);
>
> -    if (reconnect_ms > 0) {
> -        s->reconnect_time_ms = reconnect_ms;
> +    if (s->reconnect_time_ms > 0) {
>          tcp_chr_connect_client_async(chr);
>          return 0;
> -    } else {
> -        return tcp_chr_connect_client_sync(chr, errp);
>      }
> +
> +    return tcp_chr_connect_client_sync(chr, errp);
>  }
>
>
> @@ -1378,7 +1376,6 @@ static void qmp_chardev_open_socket(Chardev *chr,
>      bool is_tn3270      = sock->has_tn3270  ? sock->tn3270  : false;
>      bool is_waitconnect = sock->has_wait    ? sock->wait    : false;
>      bool is_websock     = sock->has_websocket ? sock->websocket : false;
> -    int64_t reconnect_ms = sock->has_reconnect_ms ? sock->reconnect_ms : 0;
>      SocketAddress *addr;
>
>      s->is_listen = is_listen;
> @@ -1386,6 +1383,8 @@ static void qmp_chardev_open_socket(Chardev *chr,
>      s->is_tn3270 = is_tn3270;
>      s->is_websock = is_websock;
>      s->do_nodelay = do_nodelay;
> +    s->reconnect_time_ms = sock->has_reconnect_ms ? sock->reconnect_ms : 0;
> +
>      if (sock->tls_creds) {
>          Object *creds;
>          creds = object_resolve_path_component(
> @@ -1450,7 +1449,7 @@ static void qmp_chardev_open_socket(Chardev *chr,
>              return;
>          }
>      } else {
> -        if (qmp_chardev_open_socket_client(chr, reconnect_ms, errp) < 0) {
> +        if (qmp_chardev_open_socket_client(chr, errp) < 0) {
>              return;
>          }
>      }
> --
> 2.48.1
>
>


--
Marc-André Lureau