From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from outbound-ss-820.bluehost.com (outbound-ss-820.bluehost.com [69.89.24.241]) by sourceware.org (Postfix) with ESMTPS id 491393858D32 for ; Tue, 23 Aug 2022 18:38:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 491393858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw13.mail.unifiedlayer.com (unknown [10.0.90.128]) by progateway2.mail.pro1.eigbox.com (Postfix) with ESMTP id C66BC10047967 for ; Tue, 23 Aug 2022 18:38:21 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id QYn6oUAqQG7RFQYn6oopqK; Tue, 23 Aug 2022 18:38:21 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=EscXEQQA c=1 sm=1 tr=0 ts=63051e9d a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=biHskzXt2R4A:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=CCpqsmhAAAAA:8 a=DR_9IBFj7pClvV-pAQMA:9 a=ul9cdbp4aOFLsgKbc677:22 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References :Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=PrO36GgY6XKfVZkBFdXPxvkEmgBJytmiBlm+9kXbas8=; b=oSsXdgzkkPO73ks6WEjycTmagL WZMZWFX9mWzCwm4NMSWhCT9TTNUlxryRJLj79K2lcYDsCKiPKuKwRKiNxHxRUI2GMePrwPvhnEhO4 gLcz5I7jf4z/aqwDFbv9biD6G; Received: from 71-211-185-105.hlrn.qwest.net ([71.211.185.105]:56340 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1oQYn6-003PR0-0t; Tue, 23 Aug 2022 12:38:20 -0600 From: Tom Tromey To: Patrick Monnerat via Gdb-patches Subject: Re: [PATCH] Add a timeout parameter to gdb_do_one_event References: <20220317130846.162955-1-patrick@monnerat.net> <87tu69ajj0.fsf@redhat.com> X-Attribution: Tom Date: Tue, 23 Aug 2022 12:38:19 -0600 In-Reply-To: (Patrick Monnerat via Gdb-patches's message of "Fri, 19 Aug 2022 13:29:30 +0200") Message-ID: <87czcqdcv8.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 71.211.185.105 X-Source-L: No X-Exim-ID: 1oQYn6-003PR0-0t X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 71-211-185-105.hlrn.qwest.net (murgatroyd) [71.211.185.105]:56340 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3020.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, JMQ_SPF_NEUTRAL, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Aug 2022 18:38:35 -0000 >>>>> "Patrick" == Patrick Monnerat via Gdb-patches writes: Patrick> From what I can see in check_async_event_handlers, there is no direct Patrick> waiting. The only delay/suspension can only come from an invoked Patrick> handler while serving an event that is already active. Yes, but there's a hack in prepare_to_wait that works around targets that have not implemented async: /* If the target can't async, emulate it by marking the infrun event handler such that as soon as we get back to the event-loop, we immediately end up in fetch_inferior_event again calling target_wait. */ if (!target_can_async_p ()) mark_infrun_async_event_handler (); These targets will block in their wait method. It would be good to convert all targets to be async, but that's hard, partly because some targets aren't maintained, and also because for remote-sim it would require a pretty big rewrite. Tom