summary refs log tree commit diff stats
path: root/chardev/chardev-internal.h
diff options
context:
space:
mode:
authorRoman Penyaev <r.peniaev@gmail.com>2024-10-14 17:24:06 +0200
committerMarc-André Lureau <marcandre.lureau@redhat.com>2024-10-15 12:26:01 +0400
commit005b6d511f23e0c2b69b4c7353defaa48c24853d (patch)
treebc4b71add5b2f37464a155886c1171011f610917 /chardev/chardev-internal.h
parent709a4cabfb9a425118d37855fcc661559a1610bb (diff)
downloadfocaccia-qemu-005b6d511f23e0c2b69b4c7353defaa48c24853d.tar.gz
focaccia-qemu-005b6d511f23e0c2b69b4c7353defaa48c24853d.zip
chardev/mux: switch mux frontends management to bitset
Frontends can be attached and detached during run-time (although detach
is not implemented, but will follow). Counter variable of muxes is not
enough for proper attach/detach management, so this patch implements
bitset: if bit is set for the `mux_bitset` variable, then frontend
device can be found in the `backend` array (yes, huge confusion with
backend and frontends names).

Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20241014152408.427700-7-r.peniaev@gmail.com>
Diffstat (limited to 'chardev/chardev-internal.h')
-rw-r--r--chardev/chardev-internal.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/chardev/chardev-internal.h b/chardev/chardev-internal.h
index 8126ce1806..b89aada541 100644
--- a/chardev/chardev-internal.h
+++ b/chardev/chardev-internal.h
@@ -37,8 +37,8 @@ struct MuxChardev {
     Chardev parent;
     CharBackend *backends[MAX_MUX];
     CharBackend chr;
+    unsigned long mux_bitset;
     int focus;
-    unsigned int mux_cnt;
     bool term_got_escape;
     /* Intermediate input buffer catches escape sequences even if the
        currently active device is not accepting any input - but only until it