From nobody Sat Nov 15 07:23:56 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=1755665962; cv=none; d=zohomail.com; s=zohoarc; b=JEb/nasYfTQadH2/QDm/LKNKnQXAXn0SZ2hnWXEA43xN2mhBLlDuXxTdedoWRSGrO8cKpylWTkEmQG1SY6L/2OfNdF9mk1GH+J7mfSufNEL42ppNZkzIMrBy5osH2BOCdipBmr2VKYI0lL/YGMsg2OiNq6AtReoAaJQnnsiZfY4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1755665962; 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=OnLHo5w4Q8x/dt4ObEyQnyVsgXjbs7UCA/bpaG7ASLA=; b=HCWs4NlkRDrrYmnn9Agd7tBRQaixpthwQrHebsBSXsRfJqdkKcjj5OoXWbcIjE9LOezjBoF1xFPxXczLuCvTxYGXot76j9qrZv+CWB0aT/yJiHVz5eKf6lKA5vd6Bxpo0ENaqMxo7yMplauw9oYUkzetD+8u81E7mpRGdCsAJ9c= 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 1755665962330193.70567035136446; Tue, 19 Aug 2025 21:59:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uoau9-0002EZ-2A; Wed, 20 Aug 2025 00:58:33 -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 1uoau7-0002Ds-4Z for qemu-devel@nongnu.org; Wed, 20 Aug 2025 00:58:31 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uoau4-0007rl-ON for qemu-devel@nongnu.org; Wed, 20 Aug 2025 00:58:30 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-658-4vLsYXflMoWfCEHuGoGuaQ-1; Wed, 20 Aug 2025 00:58:25 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 3ABC21800773; Wed, 20 Aug 2025 04:58:24 +0000 (UTC) Received: from jsnow-thinkpadp16vgen1.westford.csb (unknown [10.22.80.52]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 98BBD1800447; Wed, 20 Aug 2025 04:58:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1755665907; 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=OnLHo5w4Q8x/dt4ObEyQnyVsgXjbs7UCA/bpaG7ASLA=; b=SY75cM/zJE5Zhm2g6FjRdVksq/hP3IufVx7bJIpyV1rClcCo7/ZwGKBHiwEIqRL6JB1Dcd 7YzQFZRoeBrIIiqHQm0sBO0ZNmf7S3x5dxlCJ+Qcgy0AU2LjlwyfA6r5FV5gAKx/vyjzB2 6FNoYgEhMt3Dlm/BfPlbRkwmU/WcDJ4= X-MC-Unique: 4vLsYXflMoWfCEHuGoGuaQ-1 X-Mimecast-MFC-AGG-ID: 4vLsYXflMoWfCEHuGoGuaQ_1755665904 From: John Snow To: qemu-devel@nongnu.org Cc: Cleber Rosa , Peter Maydell , Michael Roth , Markus Armbruster , John Snow , "Richard W.M. Jones" Subject: [PULL 1/2] python: Replace asyncio.get_event_loop for Python 3.14 Date: Wed, 20 Aug 2025 00:58:15 -0400 Message-ID: <20250820045816.1142190-2-jsnow@redhat.com> In-Reply-To: <20250820045816.1142190-1-jsnow@redhat.com> References: <20250820045816.1142190-1-jsnow@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.93 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.133.124; envelope-from=jsnow@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_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_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: 1755665964039116600 From: "Richard W.M. Jones" 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: John Snow Signed-off-by: John Snow --- 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 22a2b5616ef..e11d05afbd6 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 2d9ebbd20bc..7dfb03c9ad5 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 56c4d441f9c..db5d54d83f4 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