From patchwork Sun Sep 10 12:55:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 22790 Received: (qmail 95421 invoked by alias); 10 Sep 2017 12:55:38 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 95333 invoked by uid 89); 10 Sep 2017 12:55:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.2 spammy=23447 X-HELO: sesbmg22.ericsson.net Received: from sesbmg22.ericsson.net (HELO sesbmg22.ericsson.net) (193.180.251.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 10 Sep 2017 12:55:36 +0000 Received: from ESESSHC010.ericsson.se (Unknown_Domain [153.88.183.48]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id C6.B7.22679.64635B95; Sun, 10 Sep 2017 14:55:34 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.48) with Microsoft SMTP Server (TLS) id 14.3.352.0; Sun, 10 Sep 2017 14:55:33 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from elxacz23q12.localdomain (95.204.106.138) by AM3PR07MB308.eurprd07.prod.outlook.com (2a01:111:e400:881b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.4; Sun, 10 Sep 2017 12:55:32 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 2/2] mi_load_progress: Restore current_uiout using a scoped_restore Date: Sun, 10 Sep 2017 14:55:20 +0200 Message-ID: <1505048120-32214-2-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1505048120-32214-1-git-send-email-simon.marchi@ericsson.com> References: <1505048120-32214-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: HE1P189CA0028.EURP189.PROD.OUTLOOK.COM (2603:10a6:7:53::41) To AM3PR07MB308.eurprd07.prod.outlook.com (2a01:111:e400:881b::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 67de5eb3-8e6e-4e69-4d7a-08d4f84b392c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM3PR07MB308; X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB308; 3:bBjrfa6Gb6ziP8odHWDYpUUC8WjRmHPAr3FsY6K1s9h2j87SAg04kS5ebH6+zhldDSugzk4xhcoJczK+NfztwdHOwW6x7Bnl2Vrx87DIwYKYFZh4nnz9yz+WdYWWJxElQHQJZ/Ewg6TxC55fJBpC9+wkJg/NYcB0mw9Skd5/MlMZo9EaCp/UEw9pkWkWFysETYsDaK5F5wTPJCX+fRXL/xiX20TI3LvEnl4iMeVIckGzoXlLAbiibvAY0VXSMyu5; 25:Q6shveneHpiG0qGBpsiz1TBzGxGiT5ARngeMwMbFIRL5lWBEL2Pt4e08Z48JoynOzGglb4Yws3kC59YdBFYYnX0CLzNkz3UyxvYLr0bkzgjyVR+V/6SoGLVUcaIXtuunf4iO6tRYwyBYHzuXoQpjDZ2o4qCAAW+R4BZtPF4B7uS6cAIf6iUUKDIVCiX+pTbJJQGNQszrIKQpm0XqmEi3V3KAf+xZ8eedSN/JFDyHmZh0zbkKBHWi0O7TbeQktwu28yskNpFj6shoGScjL63WNY/G0/3ykJGXDvj142S4KmqTZ/CLSylNC/qkkuXxFywsssIkls4OzU4e9zLkGOGJPEEH+RuxUO5pyqT9NJmzt7M=; 31:vfJp9EcNzjVFI5j8698NW1H7zjiAVpVsBcy6lENyQUgZqWxqxeqhfYa7C6R6YUzcupWJNSaJWYAgJAFItSoPF7Xusjw0iSwHskoRETZAuK21YWOtJzze2cTNj85PVeXr2/rw/D5UbqIKTqAFAo1feK3C7Av7EbxtA2dYfkM1BD30xpM1HE4Wup4XkKhc4Kj9F+fPg9FYduZf3RwxO5CHPOIafFFjfYhDcMHUph4UTGw= X-MS-TrafficTypeDiagnostic: AM3PR07MB308: X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB308; 20:BsQexmdk+cE90G3tsD5krJGruTGomW7L/ju9kDVgEQyuuFbVPudYWYDba1wkiyY9++SZExBhDoxDcDX+tvPdjpehCe2++MUEtQivIzILKS/O6UjzgvCbAp7xreB27qL2+SqlKGZZAUaVjGmRhybVZp5p/eJy/dLKhl3nnyv7/3Od20iqn9GdNCveziaewc3dpgRMAYDeqazUjpbfuVZi8/TW3nKffzDKNWWtG6nPJ93d8gTEl6j4coWoede6Wu8ieX3cTLh0TRsmjLs7dx492jYd5DEz7R/TDcRZ9ZBN34KnSlzPID7F5ISCCDhmstojI8oYkZR7Ft/+11aiCYSoHeS7//vQaxSM2oiIs6awXsiddFGJ9l7R9Ul9FtX20KsEJCpDR8SMNyr4VDq0TMpwGoxO5FXgo3PboQWRP9z/fm1ZbN9RkWJf4xiZWap7q4UUVFUb+SsbWL+FK4hkgcDOUR8BecqXjPggBOOMDNcL+fI+Y9pd6Qc84W6KOtySCFLo; 4:x2AghCXJJKaMeKF+niLQGdVX4NIgD8607WRFfbg9BKuwKxMPYuPMxGOnmzyoievLFmktbL1cG4RVJQq+v7g91m33gnw2uaKWGyQPcaomXqwzFj5/I2MrDa/9af3joYGbcdoT5JWMpU1FSG/TXz7fNt5ZOOem94XzX/xOOL4l6OE9otgGsK4spapfqqmXlbf8yiF2sFbp9TXro1B8SPg+Ept5er08ZtYpIqgnqGWm+SMKv22RR9bLYhn+OTuDTtox X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(3002001)(6041248)(20161123560025)(20161123564025)(20161123558100)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM3PR07MB308; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM3PR07MB308; X-Forefront-PRVS: 04267075BD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6009001)(189002)(54534003)(199003)(68736007)(5003940100001)(86362001)(6666003)(4326008)(107886003)(110136004)(42186005)(50986999)(76176999)(6512007)(81166006)(81156014)(53936002)(3846002)(6116002)(8676002)(2361001)(101416001)(33646002)(2351001)(105586002)(106356001)(36756003)(478600001)(48376002)(97736004)(50466002)(25786009)(305945005)(47776003)(66066001)(7736002)(50226002)(5660300001)(6916009)(189998001)(7350300001)(2906002)(6506006)(6486002)(2950100002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR07MB308; H:elxacz23q12.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM3PR07MB308; 23:j9vHfRc4FCVvoICkBS0tIOYdTKfX6w4JKOqtSPHkAG?= =?us-ascii?Q?TPCSZRYTdRyfL9Pn59ju8ziNlcad1SQUvEyWIgf4WRaUvODjMf24bnOld4ri?= =?us-ascii?Q?WsxL0UIYGWh/RBhWGv/VGKXR7R/CPyhLMWLT7mOndrHcMB52+fprFleZ1rzD?= =?us-ascii?Q?O6Ze1M4ODMcq8wiw9qLalSX0TsCwbk84Yj8U0/TyDkj7AdGWqV9ZyguCXgr9?= =?us-ascii?Q?nUUbHwlIpUhTwqZ7dWn+BOUDBkzOpybSv/FaYhowQ+TDqmkahAmC3iOXw/uB?= =?us-ascii?Q?EH6yL+vjqtSvhfaGaTk4pszpTgpu7NJMzfduuKylbAygBD4qzwbsXtEuMZhv?= =?us-ascii?Q?G5PKUln+DO161FZh3a4WbzYv3uuJ/EQbAs0pNFplqGqZ41w2/hBqHHSat6bE?= =?us-ascii?Q?EXj2xFaH40hgCZWPABhC2LB5d8VvXdU6ghuSYf6AFk6m6osJgHqQ0gwPqjTW?= =?us-ascii?Q?Kuad83/SnMAhlaE4knfnHwG5INuTPKbrzzGLUPP7/0ps1LOXp56wwhHyZCmt?= =?us-ascii?Q?Mhbb6nQHhD+sjgLU866Hv7lbVaLzYtOoqc5vbOt2PQJSH0HnGvpOm8Bnh7fj?= =?us-ascii?Q?nE1R57spQWCwK4Sa1sXX2qWwmZg9K/O9YphI0e0rwbpjnqNvFFvJZ704M7pK?= =?us-ascii?Q?ek/1+XaoDbZZ5fcjGPZJ0JkhcNMMCpBqqiAPkXI0FrATHA7lZjBFWx1evKhm?= =?us-ascii?Q?MfQpY+aklI74Li46veGwuuAsza8NTf84BPZkDb2pZfpcYm6fPtDsl2BszHgR?= =?us-ascii?Q?j9AHF9JgaOdqOif1/iGn4vEt75jmHlAB9pVSlK7VdB5TSBWpcp940AH5Acej?= =?us-ascii?Q?Q18nxiwkxH4Egzz+M8pyltF6CoQS04ef9sDl+FOeQfBCwLgXlgpZktapWjYD?= =?us-ascii?Q?QlV1urgYvTNHZwIJzQnVqmXdEupUinDgAkYdm4Y+Wr6TzwCBMGyWtH43eGxg?= =?us-ascii?Q?OL5p/QXMA7k9Pwh9cNBWCLSfSuESbruYg634aNUXt9oR4/6nzk4KPf4udP0Z?= =?us-ascii?Q?MWbS2o/4+UoBQTEN3DQ5HOt7JRIoPVLyNEwRlF7H55jNJw+kDtAQZYzb6KWN?= =?us-ascii?Q?mmD+T6hb0c2/8b2o25vib19cw82jBSWWtHdgD23+x6hbpIfROHj1V7K6fqVK?= =?us-ascii?Q?i6tY/tI/ZQv3nLJXfc66Dl2ViGt9IF+eqxbj21YvUqVDxzXxBs4A=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM3PR07MB308; 6:VgHTZ8WBG8oZ6P7fu9oAJdNRA8an4hXWY6yTqEFPhZ3c3bWiW86tlqV31SU4i1TdG6KeBSgAUE/4FV95zkgFYjIeLb46KEMdXo+JRVJVoqri0ZmW5YfnfO8GgmDCamaIKWifsOFR+LN0OOxvV42WBmYsud1vkSsWmFdy3Xl3dVxD0DE+tK3bSR8E3r8QuU6b/sJ6zWgWpUEKe/Q35QnGizbbNn4m2Z/XrRwbonha8qiTWMhXk16SryRq8IpGOU7Mn5N8QV2a2pBi1sncD5/uQ4mw9neR+IU6EaH+dkKt+UmtnIrpvM+vyECB3mTcA1FyFrNgcnHZAW5LV9kE0l8GTw==; 5:u+/e2DlqIhAIjF8kYd0ZVwIi9UZ2vZpQkecQZ6SE73Zy+8M84fxRGWm8QpJIQXDO7nIdjeYfc8cD+wKbA3twP1vOobeE1g1fOsxjKa0Na3dk8WgF5P23lskcLWfTbuamDwRss43gbq1EKn5W/dZ0qg==; 24:NE/DrqKjNRPdfOLjs2uoajpbuQONMkNbnT9J13XlFGPkQekgDStgTJgEPmUFT74qL3fFVTaMMEakDzV3xefQrCFWn3X+S8gEjf+9s/iebfY=; 7:4EpyBDCPa7dbsGwmdmlnnJF+5/tq9l1O1mIzK3c7OSQur5y0wYGBFqZ76csSb0klOkMOY55EhiKms6Srqr/86+tQkRDX6IYsU8+p405bfZnT2bilcq/IEKygmfJ4e5G/j2+70TxNQ9/bpKYScu1FgzRtPGtWjUsTBqOtfSPtxBgjIsRoZGEDriF4YRQU5zfm4TcjPvHdyuwxqlUjo2bp5ZAzEyEkSgnnS+/OuV8mMvg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2017 12:55:32.7460 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR07MB308 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes Simply use a scoped_restore instead of manually saving and restoring current_uiout. I ran the tests in the gdb.mi directory, although I don't think that there is a test that exercises this code. I tried the load and -target-load when connected to gdbserver, and it seemed fine. I am not sure how I can further test this. gdb/ChangeLog: * mi/mi-main.c (mi_load_progress): Restore current_uiout using a scoped_restore. --- gdb/mi/mi-main.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 0359dc1..c06ef18 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -2324,13 +2324,11 @@ mi_load_progress (const char *section_name, static steady_clock::time_point last_update; static char *previous_sect_name = NULL; int new_section; - struct ui_out *saved_uiout; struct mi_interp *mi = (struct mi_interp *) current_interpreter (); /* This function is called through deprecated_show_load_progress which means uiout may not be correct. Fix it for the duration of this function. */ - saved_uiout = current_uiout; std::unique_ptr uiout; @@ -2344,7 +2342,8 @@ mi_load_progress (const char *section_name, else return; - current_uiout = uiout.get (); + scoped_restore save_uiout + = make_scoped_restore (¤t_uiout, uiout.get ()); new_section = (previous_sect_name ? strcmp (previous_sect_name, section_name) : 1); @@ -2386,8 +2385,6 @@ mi_load_progress (const char *section_name, fputs_unfiltered ("\n", mi->raw_stdout); gdb_flush (mi->raw_stdout); } - - current_uiout = saved_uiout; } static void