From nobody Sat Nov 15 10:52:03 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752578985; cv=none; d=zohomail.com; s=zohoarc; b=AstTgxOSFIOmfarQ4MXufEXYcisXG9/XV0FpXzpg3wRntiRR7siLztCYFjGtCY93xAY6AW567hyu+aQaOPhXwTwKWyrsJJu7/G89uSwr99UA34wXYylF/TRpGGyxS8pd9tcSpNjSNcCYW6IEmCtXgtw2V8+XBbEzqqhjkZ4Fc48= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752578985; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wYqBUdXlBAQBvlwZ90wSyj0fOHwnUUnHn3VGGOga6hU=; b=n0iUTa/AqsmlXhsmsMZqo54Zmp5XVFk8kpfd7AvW6txmSXQMz+kgPZLiQtjG0dOMQnS7Sx7jfHt9S/ldlGjUvV29qQ3SFjGTBFhf1JxwKKBiYb2bW8DwH0l90HiB2d/SAA3fspYq+FEIE3KiWiaqVZcBvhQwoDBpr3PV5mCqkls= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175257898519242.146593188134716; Tue, 15 Jul 2025 04:29:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubdqO-0005Ef-WF; Tue, 15 Jul 2025 07:29:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubdqH-0005An-1a for qemu-devel@nongnu.org; Tue, 15 Jul 2025 07:29:02 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubdqE-0005HR-Au for qemu-devel@nongnu.org; Tue, 15 Jul 2025 07:29:00 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-169-yIeOlH1dMP2d2tfY3KvhSw-1; Tue, 15 Jul 2025 07:28:54 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4847119560AA for ; Tue, 15 Jul 2025 11:28:53 +0000 (UTC) Received: from cash.home.annexia.org (unknown [10.44.32.10]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 42B663000198; Tue, 15 Jul 2025 11:28:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752578935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wYqBUdXlBAQBvlwZ90wSyj0fOHwnUUnHn3VGGOga6hU=; b=CoBxh3BO8ks7HoNY286h4wyWEBNpE63n1exaGl4Zvj7YkwfQ31FKrGF0QXuRNGyilx2OVn kY6TYiEeO39pvOrIEs2w3u8FWHO+lO/fC2wRRqgYw/Y12SfKeORxY+gcbPEejgcGjGxVE1 t13ftqDr/t6thDTUhYIXPtG7aynC/1w= X-MC-Unique: yIeOlH1dMP2d2tfY3KvhSw-1 X-Mimecast-MFC-AGG-ID: yIeOlH1dMP2d2tfY3KvhSw_1752578933 From: "Richard W.M. Jones" To: jsnow@redhat.com Cc: crosa@redhat.com, qemu-devel@nongnu.org, berrange@redhat.com, mhroncok@redhat.com Subject: [PATCH v2] python: Replace asyncio.get_event_loop for Python 3.14 Date: Tue, 15 Jul 2025 12:27:52 +0100 Message-ID: <20250715112846.799288-2-rjones@redhat.com> In-Reply-To: <20250715112846.799288-1-rjones@redhat.com> References: <20250715112846.799288-1-rjones@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=rjones@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752578986299116600 In Python 3.14, no asyncio event loop gets generated automatically. Instead create one when we need it. This should work with Python 3.13 as well. This change was suggested here: https://bugzilla.redhat.com/show_bug.cgi?id=3D2375004#c4 See-also: https://docs.python.org/3.14/whatsnew/3.14.html#id7 Thanks: Miro Hron=C4=8Dok, Daniel P. Berrang=C3=A9 Signed-off-by: Richard W.M. Jones Reviewed-by: Daniel P. Berrang=C3=A9 --- python/qemu/qmp/legacy.py | 5 ++++- python/qemu/qmp/qmp_tui.py | 2 +- python/tests/protocol.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/python/qemu/qmp/legacy.py b/python/qemu/qmp/legacy.py index 22a2b5616e..e11d05afbd 100644 --- a/python/qemu/qmp/legacy.py +++ b/python/qemu/qmp/legacy.py @@ -86,7 +86,10 @@ def __init__(self, "server argument should be False when passing a socket") =20 self._qmp =3D QMPClient(nickname) - self._aloop =3D asyncio.get_event_loop() + try: + self._aloop =3D asyncio.get_event_loop() + except RuntimeError: + self._aloop =3D asyncio.new_event_loop() self._address =3D address self._timeout: Optional[float] =3D None =20 diff --git a/python/qemu/qmp/qmp_tui.py b/python/qemu/qmp/qmp_tui.py index 2d9ebbd20b..7dfb03c9ad 100644 --- a/python/qemu/qmp/qmp_tui.py +++ b/python/qemu/qmp/qmp_tui.py @@ -377,7 +377,7 @@ def run(self, debug: bool =3D False) -> None: screen =3D urwid.raw_display.Screen() screen.set_terminal_properties(256) =20 - self.aloop =3D asyncio.get_event_loop() + self.aloop =3D asyncio.new_event_loop() self.aloop.set_debug(debug) =20 # Gracefully handle SIGTERM and SIGINT signals diff --git a/python/tests/protocol.py b/python/tests/protocol.py index 56c4d441f9..db5d54d83f 100644 --- a/python/tests/protocol.py +++ b/python/tests/protocol.py @@ -228,7 +228,7 @@ def async_test(async_test_method): Decorator; adds SetUp and TearDown to async tests. """ async def _wrapper(self, *args, **kwargs): - loop =3D asyncio.get_event_loop() + loop =3D asyncio.new_event_loop() loop.set_debug(True) =20 await self._asyncSetUp() --=20 2.50.1