From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from CAN01-YT3-obe.outbound.protection.outlook.com (mail-yt3can01on2042.outbound.protection.outlook.com [40.107.115.42]) by sourceware.org (Postfix) with ESMTPS id 01FF43858D28 for ; Tue, 10 Oct 2023 15:01:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 01FF43858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=efficios.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ScvboD1z7aQkXs5f/6aao7X4FE46r0aVzTmBmNTePMG9raPIeIF98ptEq7SZl5k8+yfwxPin1WBQaXbGYupS7KoiSdypfLe8A+nAyy9z7ZCfsS5wPaegpZkNf4CkaoERps8FF+OTdjGGPLY46/RdZg9VH23yDz6DtaZGTsoHGOzmkDVvW7waWjkvk6kZZNZwVe9ESM/MwWhjqIsnXF/DBS3K+jc8N9+N8ZoIAIezbPKM5oClAYNHHCDzxLpQXgfoPrvzn4TMHt0oCPJ5yJlixfcCHvgpnBzppce4U3idLzwPQ6AvVH0COugWW0i7fZXxbkQTgTjKAdxsWpC/kXR/3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zZpXgYACDWT8WXm0vLL+0DTzlOg0nY1d0Sd0zzHxvcw=; b=fna1wBVb8Iv4UvyagL2HkOB+b5YPtU/tf/TqMyWwgCnMr6K8wT1DgEDFO54GqROhYLcqccCu/gRQ7jJ+/a8W1ZBYf909G8luebk7T4PT3liCKRWHKQhe1/4+D9HfYLg3/ilfaGa6nblut+bW1XptRKyszZ4eQUrkL+o5F6fgPDuHB2Oah4c51dN6xMbQTZciwK0LNzFoVaL0yxlbOcpA6IFYUOYTxD+GNm9bFH2MlJKOZ24krLrPM6fGr/8MWf/kNa7CMTHoQ0gjhc07jCqxyj0qW3lZhA/NMrtRWzwH1IWolnp8DIigDMkFUpaj2uKAClHa0uhwWGyYEF4Q5UNvrw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zZpXgYACDWT8WXm0vLL+0DTzlOg0nY1d0Sd0zzHxvcw=; b=MF1eLFdNgJ+hMCCBqL7zMnwgh6NIDN6YjvoeU9P6LK0habqsNUZnOVyVfmItwj/Dj2RW90De7E1eMZtqARGCL+PgCPvywMCeEPCyI2yrnmBoGBM8mOL0jnm68rhM6zzLIg+Fy+I2juma0RzME0SKYC+LMrQnPr7wRu5PNtsr2JbqAcgbmmUcMWj3doEL7lpw7KIEbw6FCp513R+ZEQSnaOLNbnJLOCmCvm5bf/gFU2aIzeCdWZQ2z7657RF2C+0BqPT3YLrsUvIrttRfxEPdygmKsIBBbyrJS5PRN93EBOdxT1VFwTBdNPRpAkb1tuLO4uM2gMIPYtLGfcFKwCbHQg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) by YT2PR01MB5710.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:56::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.38; Tue, 10 Oct 2023 15:01:28 +0000 Received: from YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::2746:9503:a301:a80a]) by YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM ([fe80::2746:9503:a301:a80a%6]) with mapi id 15.20.6863.032; Tue, 10 Oct 2023 15:01:28 +0000 Message-ID: <19b9087b-ac8e-4326-b9f5-8c9dd9f415fb@efficios.com> Date: Tue, 10 Oct 2023 11:01:10 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/3] gdb: add remote_state::{is_async_p,can_async_p} Content-Language: fr To: Andrew Burgess , Simon Marchi , gdb-patches@sourceware.org References: <20231004020701.260411-1-simon.marchi@polymtl.ca> <20231004020701.260411-3-simon.marchi@polymtl.ca> <87cyxoduey.fsf@redhat.com> From: Simon Marchi In-Reply-To: <87cyxoduey.fsf@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: YQBPR0101CA0281.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:68::26) To YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:a::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT1PR01MB2828:EE_|YT2PR01MB5710:EE_ X-MS-Office365-Filtering-Correlation-Id: 06836d87-9eae-4d0b-dc0e-08dbc9a1c7b2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QpFrUTT8+Dikl4XQbm8aEJ4FNREMRop3AbfB7SQa9PMmdnI08hd1wLIeKjJc9fUSaIGk3V7jkLKFkmcnk94S+R0XgJRl7OuRzJ6+K68OfWmzzas0dq1AVw9NEaxkdeeBa2X++7GPnnlNq61/w2BCaCpHJXgqPuhWsLK5Yqrgl7BZ5wNFet8zyp8kelVx/oTQpgJTuVDAVVooPwqKByv7mINTifvYdRuoGO6BrunHTca8Oan0plDL08ANge1PnwccriaKtgadW0xZm+G+IASfAkxxabCF3elLPRIi/L//OOgARoxm+MtTMkjuVoZv0vPwOsPdpe4m075ef7hJSe2KvG9p3lmhPYfGnSRgliYHfsXGFPjIDppiaJH97MKq/R2mDTnW/HXBb4AExFunLpw7WKHKtu3LNGMfhbHiMM1ZvyyalrZ1RlPJmdsGqN6bLwVm50O3DtG5i8p2lX2+NyU+UqKuCpoOaRJqWnweKX+n4MX5D9j2o2Xffux4twsPz/vm/u69nXX9sm9oI7i6deakao/kqzvrH+yHRiVAD7CqfvQ4sk6LcknUUJ7xnu/GID6n7tKCheOcFT12LixYpKD/5dKh50Hpuq+F8nQ3tKh0p7t38PKe/bHtGmuCvdk3UpByF+uwBLjUD+H01HQzEa4+zg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(366004)(346002)(136003)(39830400003)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(31686004)(53546011)(6512007)(31696002)(36756003)(38100700002)(26005)(44832011)(2906002)(83380400001)(6486002)(6666004)(2616005)(6506007)(478600001)(8936002)(8676002)(41300700001)(5660300002)(66476007)(66556008)(110136005)(66946007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VHNqUHZjSWUzcmprd0Zxc0duZUZzRUpSWEpOWjZRbS9kWlY4enNqRkhOcGg2?= =?utf-8?B?UTFFUEhIcCttT3E4MHgxamIvOE5sdVpVL21KTHd5T3hYU1daaEJHK0w1MVlm?= =?utf-8?B?Q0FIZUFTU0VWUFF5V2dNRVlyOVBUandncFkweEIvUkNIVzJWMTYvWUwyTFIx?= =?utf-8?B?OUpXWFArdzVSN0M4bmxOYWhlbGZuSWtCY3VJbDUyWWp3VThDY1d0TUF4Q1B1?= =?utf-8?B?dS9kdkVReE45SWNiNGQzYzhtcWY4amZ1aTNwejhZc215OExKaURqU0pxTnVC?= =?utf-8?B?aTNvZG93ZnNIMzQwMWUyR3pnd0VtNmNKOGtyYUNpS0lFZ1krdE1xWVBMalhp?= =?utf-8?B?c0U0WVI2WVBjM0ZqQXFuTkswWkk3VXg4WGVpNDVHTk54VHdXSU9WdkJXYmtv?= =?utf-8?B?MU9jTXpzQlZoYlcxWmxHWS96V2sxVWFvajdtUlpYMUVyV1lMQkNOV2dxNG1q?= =?utf-8?B?ODI2SlQrWjA4NHBFTzRqT0Q2UGExR3AvY1B2WlFGbXlIdUp4VjBxd3BDVEVN?= =?utf-8?B?R2NYdUN4SG5YMlFzTzg4ZHBOeFFmeFRoZ1RYQVgwOEsyUzZLbVJQUCswK3pE?= =?utf-8?B?NEdlNlduVi82SnA0WmRqdzVlcmlUK0N6TUJ0T2RFeThHQkJaWTZ3aXZENzNo?= =?utf-8?B?cjNBaTd3K1poc2VtdWxpekZMTXFZdzZ6ejZUQzdKeHl3ZDd2Ris2cmhUTjBt?= =?utf-8?B?UWZPb0NTNlpMem5ScUJpaDBrM1YwODJ0cmJxbVUvS3Z1ejlSN0NmWDZaQkhz?= =?utf-8?B?S2tEUWxFR01iaWNRSmwrNUpvd0lNUENzZUlIRlVTUHNIdW0wbDV1ZnNKSTFp?= =?utf-8?B?S1ROdTV6aTRQN09waGdsNTdiQVB3S3pkaVJML0dLMTBLcENCT0ZaY2ZGS1cx?= =?utf-8?B?QWtNQ29xUllndFZuRmNXM3VydUtBNmhqdjRWZnpTcm1NenZjbVlCbktWRmtt?= =?utf-8?B?NGptTWF6Y2pWUkRFaFkzelNDekgvMlZka2pzajRqbkpEelYrc1VHdUdvMnZi?= =?utf-8?B?R2I3elEraXZPU3UrRXErakxUbTlDc0xSYVlTTlBaMGN4Zjcwd0RXNGdoUnNl?= =?utf-8?B?NXFKVGdLcm5pTThVQ3J3Rjl4YnVTWUsxNGRFUDI0RnFtOGtnVW9NY3F2dGpw?= =?utf-8?B?UFRWZ2EvK211UHQ1b2plajNEcEdOaTBTMHN0bElrRFV4ZUtuR3BSMVVCalFs?= =?utf-8?B?YTVBd2pzTk8zOSsyU3ZlT3VTczJubkFhREtZSHNCWktpbXduZnFjS1VxSEpX?= =?utf-8?B?RnRtcGxxcHVPSzFnRXppaHF6RVd3MEJ2VnE0TEUvbjIyQTZGUXB5ZWQ5YXhP?= =?utf-8?B?ZnUzMXFYVlR1ajJ0S3ZYVXpBMWR4c1RTV2tINGdoQllKZGpmbkNSaC95eDdh?= =?utf-8?B?Sjd4cndqbUc4WFpGaG51TVJ4MkVSL09Pa21ZL0sxcW1OVFJCMElEQU1pYkVr?= =?utf-8?B?cU9mUFNzWG5GdkxFRlo5ODc1NThFbm1aYmdFMUZKZ05ZVVVRejNNL1lwQXlz?= =?utf-8?B?V3V2MHVUdVRmSjZDd3hqMXZsZzNDd0NUSFR4ak5IckZvR0k5OXV4Nms5M05m?= =?utf-8?B?OXFZOVBjdk9KaXpRZ04wNE1pN2F1c3Y5REpsRFhFNXRwZjNwYkw1ZEt0SjVJ?= =?utf-8?B?clVPMk1NbzcwVHVSeE5ML0xkWjJEMVM1eWk2WWdKa3pNUi9iWlc5VnRSZnlN?= =?utf-8?B?eTgyaWlMRkprTzhUMUMyKzh3TnVhNncwUEMwbWg4eCtibGJ1cmhRZVlOd0Ni?= =?utf-8?B?NVVFVTgybXVqTUZUR1lHSExKWG5VRVlJUEJjRURCSzRheUJjVEFmZUlOcFNi?= =?utf-8?B?L0owUmttRkUvNXN6bmN0K1c5SWJlV3R1SHFjWGNqVkVvczM2UEZFY05pRGFZ?= =?utf-8?B?Q3M4UTgxVWd3VFFGdEdnSG12WlQ0WHRsbnZXa0FoYTlaZ3g5Z3Y2TmQ0elNI?= =?utf-8?B?VHhQWmpmZ1gydllBQWpQY21vVTR4d2w1REIvNUFZWEtaWEZPSkRiRitNaWpJ?= =?utf-8?B?QTdIOStuRlJGZ3BrOG9IMmRuSFNOWnFhMDcvbnJvT0FJR2FES2tqRzZSWFFz?= =?utf-8?B?UnRzRXM5SE9RK1VLUkw4NGtuK1pjL0IvbDg4QjZObnE5QWYxK0lyUE1La0FE?= =?utf-8?B?WXlLWHBrZHd5Y3V4bjJlUWNCK2ZiL2J3UGJrU2F5d293ck1NY0VVb1p2Z3Nk?= =?utf-8?B?Znc9PQ==?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06836d87-9eae-4d0b-dc0e-08dbc9a1c7b2 X-MS-Exchange-CrossTenant-AuthSource: YT1PR01MB2828.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2023 15:01:28.2902 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HnBFmdBwgKZ8XjAzC15Ywx+gq2yC3JBLfZC86xJ1id/7aIhBJ4NoawaozIBNNtVE2rdXhdAqszeQ5fVwmg9WEA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: YT2PR01MB5710 X-Spam-Status: No, score=-3038.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 10/9/23 05:20, Andrew Burgess wrote: > Simon Marchi via Gdb-patches writes: > >> From: Simon Marchi >> >> A subsequent patch will want to know if the remote is async within a >> remote_state method. Add a helper method for that, and for "can async" >> as well, for symmetry. >> >> Change-Id: Id0f648ee4896736479fa942f5453eeeb0e5d4352 >> --- >> gdb/remote.c | 20 ++++++++++++++++---- >> 1 file changed, 16 insertions(+), 4 deletions(-) >> >> diff --git a/gdb/remote.c b/gdb/remote.c >> index 2deba06d7d47..38d0027dbf9e 100644 >> --- a/gdb/remote.c >> +++ b/gdb/remote.c >> @@ -438,6 +438,20 @@ class remote_state >> ::delete_async_event_handler (&m_async_event_handler_token); >> } >> >> + bool is_async_p () const >> + { >> + /* We're async whenever the serial device is. */ >> + return (this->remote_desc >> + != nullptr && serial_is_async_p (this->remote_desc)); > > This seems like an off choice for line wrapping. I'd expect the newline > to start with the '&&'. Oops, fixed. > But... do we ever expect to ask is_async_p() before the remote_desc has > been initialised? Does the answer even make sense in such a context? > > I wonder if we'd be better doing: > > bool is_async_p () const > { > gdb_assert (this->remote_desc != nullptr); > return serial_is_async_p (this->remote_desc); > } That's probably right, I'll try to make that change and re-run the tests. > I'm thinking, that if we did ask this question before remote_desc was > initialised, then when remote_desc was initialised the answer would > change, and so we're probably asking to question too early... Yeah... I think for "is_async_p" it would still be a correct answer, the target isn't in async mode at that moment (before remote_desc is set). But "can_async_p" could change, once we initialize remote_desc. Anyhow, I've put asserts as you suggested. > >> + } >> + >> + bool can_async_p () const >> + { >> + /* We can async whenever the serial device can. */ >> + return (this->remote_desc >> + != nullptr && serial_can_async_p (this->remote_desc)); > > Same here. Fixed. Simon