All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, lukasstraub2@web.de,
	"Daniel P . Berrangé" <berrange@redhat.com>,
	"Stefan Hajnoczi" <stefanha@redhat.com>
Subject: [PULL 6/7] io: Document qmp oob suitability of qio_channel_shutdown and io_shutdown
Date: Wed, 13 Jan 2021 10:31:00 +0100	[thread overview]
Message-ID: <20210113093101.550964-7-armbru@redhat.com> (raw)
In-Reply-To: <20210113093101.550964-1-armbru@redhat.com>

From: Lukas Straub <lukasstraub2@web.de>

Migration and yank code assume that qio_channel_shutdown is thread
-safe and can be called from qmp oob handler. Document this after
checking the code.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <32b8c27e256da043f0f00db05bd7ab8fbc506070.1609167865.git.lukasstraub2@web.de>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 include/io/channel.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/io/channel.h b/include/io/channel.h
index 4d6fe45f63..ab9ea77959 100644
--- a/include/io/channel.h
+++ b/include/io/channel.h
@@ -92,7 +92,8 @@ struct QIOChannel {
  * provide additional optional features.
  *
  * Consult the corresponding public API docs for a description
- * of the semantics of each callback
+ * of the semantics of each callback. io_shutdown in particular
+ * must be thread-safe, terminate quickly and must not block.
  */
 struct QIOChannelClass {
     ObjectClass parent;
@@ -510,6 +511,8 @@ int qio_channel_close(QIOChannel *ioc,
  * QIO_CHANNEL_FEATURE_SHUTDOWN prior to calling
  * this method.
  *
+ * This function is thread-safe, terminates quickly and does not block.
+ *
  * Returns: 0 on success, -1 on error
  */
 int qio_channel_shutdown(QIOChannel *ioc,
-- 
2.26.2



  parent reply	other threads:[~2021-01-13  9:33 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-13  9:30 [PULL 0/7] Yank patches patches for 2021-01-13 Markus Armbruster
2021-01-13  9:30 ` [PULL 1/7] Introduce yank feature Markus Armbruster
2021-01-13  9:30 ` [PULL 2/7] block/nbd.c: Add " Markus Armbruster
2021-01-13  9:30 ` [PULL 3/7] chardev/char-socket.c: " Markus Armbruster
2021-01-13  9:30 ` [PULL 4/7] migration: " Markus Armbruster
2021-01-13  9:30 ` [PULL 5/7] io/channel-tls.c: make qio_channel_tls_shutdown thread-safe Markus Armbruster
2021-01-13  9:31 ` Markus Armbruster [this message]
2021-01-13  9:31 ` [PULL 7/7] tests/test-char.c: Wait for the chardev to connect in char_socket_client_dupid_test Markus Armbruster
2021-01-13 15:53 ` [PULL 0/7] Yank patches patches for 2021-01-13 Peter Maydell
2021-01-13 16:25   ` Markus Armbruster
2021-01-13 17:26     ` Lukas Straub
2021-01-14 11:02   ` Alex Bennée
2021-01-14 12:40     ` Markus Armbruster
2021-01-14 12:44       ` Lukas Straub
2021-01-14 13:19     ` [PATCH] Fix build with new yank feature by adding stubs Lukas Straub
2021-01-14 13:46       ` Alex Bennée
2021-01-14 14:04       ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210113093101.550964-7-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=lukasstraub2@web.de \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.