qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] Python: Fix qmp race condition on accept()
@ 2022-02-25 20:59 John Snow
  2022-02-25 20:59 ` [PATCH 01/10] python/aqmp: add _session_guard() John Snow
                   ` (11 more replies)
  0 siblings, 12 replies; 25+ messages in thread
From: John Snow @ 2022-02-25 20:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Peter Maydell, Daniel Berrange, Beraldo Leal,
	Cleber Rosa, John Snow

GitLab: https://gitlab.com/jsnow/qemu/-/commits/python-aqmp-accept-changes
CI: https://gitlab.com/jsnow/qemu/-/pipelines/479795153

This redesigns the async QMP interface to allow for race-free
connections from the synchronous interface. It should hopefully address
the race conditions Peter has been seeing on the NetBSD vm tests.

John Snow (10):
  python/aqmp: add _session_guard()
  python/aqmp: rename 'accept()' to 'start_server_and_accept()'
  python/aqmp: remove _new_session and _establish_connection
  python/aqmp: split _client_connected_cb() out as _incoming()
  python/aqmp: squelch pylint warning for too many lines
  python/aqmp: refactor _do_accept() into two distinct steps
  python/aqmp: stop the server during disconnect()
  python/aqmp: add start_server() and accept() methods
  python/aqmp: fix race condition in legacy.py
  python/aqmp: drop _bind_hack()

 python/qemu/aqmp/legacy.py   |   7 +-
 python/qemu/aqmp/protocol.py | 393 +++++++++++++++++++++--------------
 python/tests/protocol.py     |  45 ++--
 3 files changed, 273 insertions(+), 172 deletions(-)

-- 
2.34.1




^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2022-03-04 18:59 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-25 20:59 [PATCH 00/10] Python: Fix qmp race condition on accept() John Snow
2022-02-25 20:59 ` [PATCH 01/10] python/aqmp: add _session_guard() John Snow
2022-03-04 17:34   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 02/10] python/aqmp: rename 'accept()' to 'start_server_and_accept()' John Snow
2022-03-04 17:48   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 03/10] python/aqmp: remove _new_session and _establish_connection John Snow
2022-03-04 17:50   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 04/10] python/aqmp: split _client_connected_cb() out as _incoming() John Snow
2022-03-04 17:53   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 05/10] python/aqmp: squelch pylint warning for too many lines John Snow
2022-03-04 17:55   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 06/10] python/aqmp: refactor _do_accept() into two distinct steps John Snow
2022-03-04 17:57   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 07/10] python/aqmp: stop the server during disconnect() John Snow
2022-03-04 17:57   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 08/10] python/aqmp: add start_server() and accept() methods John Snow
2022-03-04 17:59   ` Daniel P. Berrangé
2022-02-25 20:59 ` [PATCH 09/10] python/aqmp: fix race condition in legacy.py John Snow
2022-03-04 18:01   ` Daniel P. Berrangé
2022-03-04 18:23     ` John Snow
2022-02-25 20:59 ` [PATCH 10/10] python/aqmp: drop _bind_hack() John Snow
2022-03-04 18:03   ` Daniel P. Berrangé
2022-03-03 22:37 ` [PATCH 00/10] Python: Fix qmp race condition on accept() John Snow
2022-03-04 17:49 ` Kevin Wolf
2022-03-04 18:28   ` John Snow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).