From patchwork Mon Nov 20 16:34:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 24384 Received: (qmail 104729 invoked by alias); 20 Nov 2017 16:35:31 -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 104686 invoked by uid 89); 20 Nov 2017 16:35:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KB_WAM_FROM_NAME_SINGLEWORD, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 20 Nov 2017 16:35:29 +0000 Received: from ESESSHC013.ericsson.se (Unknown_Domain [153.88.183.57]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 5B.0F.08439.944031A5; Mon, 20 Nov 2017 17:35:21 +0100 (CET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.57) with Microsoft SMTP Server (TLS) id 14.3.352.0; Mon, 20 Nov 2017 17:35:21 +0100 Received: from elxacz23q12.ca.am.ericsson.se (192.75.88.130) by AMSPR07MB310.eurprd07.prod.outlook.com (2a01:111:e400:802f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.2; Mon, 20 Nov 2017 16:35:18 +0000 From: Simon Marchi To: CC: Simon Marchi Subject: [PATCH 13/19] Remove usages of find_inferior in stop_all_lwps Date: Mon, 20 Nov 2017 11:34:37 -0500 Message-ID: <1511195683-2055-14-git-send-email-simon.marchi@ericsson.com> In-Reply-To: <1511195683-2055-1-git-send-email-simon.marchi@ericsson.com> References: <1511195683-2055-1-git-send-email-simon.marchi@ericsson.com> MIME-Version: 1.0 X-ClientProxiedBy: CY4PR03CA0075.namprd03.prod.outlook.com (2603:10b6:910:4d::16) To AMSPR07MB310.eurprd07.prod.outlook.com (2a01:111:e400:802f::20) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ba1fd0fd-c5cd-4f48-ae0c-08d53034afd0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603258); SRVR:AMSPR07MB310; X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB310; 3:MEApg6ZnA9th3kA/b34tP++68KEXFjHi/JWkGpQOCQe9C2SnTCnNAC5wJU4ClNF42RQepvJkBr7LgKh9PXOxtDQtUwtuB8gsHfzdzxZy8dwYiqoPcQfHH4HmdxYtGi5ESwAfDwo6bi8okFnGWPeWNqnOZNoWXOMb6A4HyFysUyYzQAkrhBe+rYifhe5QIaf7cZR0ngpf1bBWXN2EB5Qw0HIII1ZOv0vr4EAtfOyWwisbnfUp6/R2KyBparKqq2/0; 25:RceYYco+VsAUguQPwn7dAz3jZJ0Zv/+C6zmpCT2+4sZXHvDkW4qOACOk1WF2PDETiwgBvcQTCdqkAxclbOwUjZ8K2aRaoTEXPGQnh/z43aZx03X0kkLB/pFx/D6dTrs9you4ZSl9v7aZOHm3oq8VQGnjew+WWhlHXrf5Iwl/QwfIzrtOLxMwcftJvScEUjM9iQM4hes2HgoXfHPmJNr/W0XHNyaAXUZ4Qn4UnWcMfHVdghgz0BEuepOQbTDN4AjaBqkA8xTEVDgO4WBlLmNcL17LW9O2tPesI08Rq6uBautyF1hLkFePmSBItUNJLKb8FtOgk3t1nfya8DD0ulz+ITIEELZeb+p1xxquhVZYVKU=; 31:soLAlLtwyDAhSI7eAvUC1K5ScKIZP1seuMCauQ9wozeH3v97NTGuGOsyydNMVwJ5xp7y2MjReuwk6CV3GA5AdLvjunSAhlFwCANscnTJVtwjNpTa4v/i3YCQxz01enMaHbiERjgOzabpFcV1ZHESiLDb8Zt0g6HsKqOEm1hWmNfgY2yiv+shpkFqfOW2agjuzZ8A/yEp95isUImwS5/kMUC1mDlkqexm7SX+sgxWERI= X-MS-TrafficTypeDiagnostic: AMSPR07MB310: X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB310; 20:RLZEPs/vvS4fC9w6Acj3OXxzSW2/xhYTq0RRtd3WfjD5H6WBzeKcoauVAon/2tSM99Vg47r1E8NUsBcNvuKfVUk6T2FFfEGtop7vxnFN9X02RIw6EQzEpqQ4NMYZP18JhmRimKtujHauG0ITvugnNjE1aKfj0krpvSsGRQm0AQL40UkbUJgeyOOl3uZ4SyQdyzMrQrM4lgKz/dycr7Bm3N8JTfoOB94bCAm+EAA+mOmgB8GV6CPDWdeoZbbTpw2l+YlWVf0kkcX7uux9Dc0vvD/BgkppmnbAP1P9xD3w3VCLPMUj4CseNELdUk/TrLUq0TFTUUCD6G9ULjlFN4r11jGzj5wv2OrvRP2udSoFFrya4Lb4VhRhTtUkDVM96Eoyl57vHUsxRV3Lps31xS5mC9z3YhVTR/fish97HxG41axsQ2uIMYSUoejEfJQ2pzZdGc755A1ueGclP3HnjDRJbhJYJvFlEzbSnfNKVU17hfC8QoXxFnhxWlaFiCz44koZ; 4:xhH/X3bGTokKc+FfUFCYxQ+qqrS7T+e1IDc6A+WcCQyoDLst11v8Z4e0fC8rNgwvcRgZgHdlkiSOQqL0hsVwM7J2HhBu7YcHo3OJ6RM1BdcbNKa+r60Up1Xo9XgFK6IPTEqPEi3vZVcJgISgk5hgclDjvdoLxsv7YQCdLpl6O+kLsFoMf0Id0QhvTpI/wBsmhflLoTemHj3QJ9uS87pCAalomP4JmzxIve/aad8Rbl6xEnOjcT6VxtVSi/SPvXB9H4j9XeJ/fmDe8BGQ0NfX4V7kckJ8EkgtOiA7Nib6hw7guqsm+Tic+X1zDQaLuCQ/ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(10201501046)(3231022)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123560025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AMSPR07MB310; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AMSPR07MB310; X-Forefront-PRVS: 04976078F0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(189002)(54534003)(3846002)(97736004)(66066001)(5003940100001)(33646002)(16526018)(50986999)(76176999)(6666003)(81156014)(305945005)(7736002)(81166006)(6512007)(5660300001)(316002)(6506006)(6486002)(16586007)(6916009)(2950100002)(101416001)(8676002)(2351001)(2906002)(105586002)(36756003)(47776003)(86362001)(50466002)(48376002)(50226002)(8936002)(106356001)(68736007)(2361001)(53936002)(478600001)(25786009)(6116002)(4326008)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:AMSPR07MB310; H:elxacz23q12.ca.am.ericsson.se; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AMSPR07MB310; 23:yClKg5PVs2UXAl6rYaGmEYFRMHkcn/FnSQ/gyIZVVS?= =?us-ascii?Q?oPUSz5MFnW5XKU4zuo6cROygAVsIL5kLeGE/DvsK3Z08eR89VETXwCC70QYJ?= =?us-ascii?Q?BJsbDR4P3kmqke2V9OOENT8AgMxFzS5EF2UzPBz/GwWhyQjAZOCW+aMQchNh?= =?us-ascii?Q?CZIupsXYv4QMTWGgxN/h1ZdVpkuKb4FCL57kHC/uQv0cC8Lz0DIaoBQlyHSr?= =?us-ascii?Q?yHbODDEfv00JlZUpV5ReSDQy/+tTD5wIio5hTPYJbgqOuPSfiXRtzcY1oq3n?= =?us-ascii?Q?o3TlmLDN9czPvQjyrBX7THywccXdc7ElWiKP8EHN1FrPDkyqCZVZxWOIoP51?= =?us-ascii?Q?6PsGf0EnWdEcr9OEH/m4Up8BTOBVpmCpDraHMc/mgAPCQpSYikWQfKHnSsuZ?= =?us-ascii?Q?ndcci7rcumnOpKsBSBUoaOCZXKFJdtEgKxbaVOrxcMrqqDa673dc36BN2XE6?= =?us-ascii?Q?Vq36WaXWABadF1dwkcUuD5yp3zGzzspzYg6+5ZardDm+I4YmXXqv2fdmqmUT?= =?us-ascii?Q?w4GwyZZoTX5QOUJB5dD6linePBm1+4xWK7xuBBmgYUSeLiorxjVe3I5e2aOe?= =?us-ascii?Q?We7PHf8NlMm+QJoO/wJdVYMK+gTkVIywavsYB9iQ46Wz4y/uUYMGMnAaAUes?= =?us-ascii?Q?DXHiq+yHjSMqNyTjBbfs2Px2vnIg1z62spySOUKPVs66+HONNwVcqdYx7/Mq?= =?us-ascii?Q?yvHW6ms1a9cA0xWEFX+5GIGc6iEFK7ZW8+77jGqSG7mWyWNLvMkdS63BuowA?= =?us-ascii?Q?2Kuc8uMKcKmpc/nHolFUTxBVWQTXlAfk98CMpJYmM1icn/r1Q8vhJdk3CATM?= =?us-ascii?Q?JiMaUuSZB6AZKfASVmnvIpdhb2oUtaO0GLaVfOxYDac4Tq755HwxUm1sTo3R?= =?us-ascii?Q?tMnkJe1A4oPKItIGN0KQWdpiYvIZiAXE3hpAOFBTxmKEZhZzoEDkjtU3w0rr?= =?us-ascii?Q?JZ0fn9zq9/CLM/ke5pwZeoSbZS4a8wRJP96ZkvQHIopot6EBVk5kh20zKZy8?= =?us-ascii?Q?C1z7xgDdpEORts9PcswiSv/a7ioekYKoT8RI1TWJcqhtJ4zzzkKhTPyT90TS?= =?us-ascii?Q?o1V0W7WTEe4Xd0Vtl1QcQlmKNNuidej73/194LkMfuxKCLMXCgZuoN6Lu7Ia?= =?us-ascii?Q?AU1HCkljEj5PywmKUvvG66K4Zc8flM?= X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB310; 6:RC6DD+pJf/akG/y5PxlHZTRd6Pr7ndEWyf/SwOuCUGHmywRTcwD73Ur6kcNLw9AMHZ4FYozpLFpR0mHqqdQsD1wakJ/KaxCSnThTclgqUAWzVVyNabWRP0HXZBMfs6Th4PGqB0VDs6OrpcsUlcgcAKdv2CX3CtisvGdiKQ29rMDKM3wWuBsXRO8V83y0+t7YouZOy8HGsrOwf5DFz5VuLUuqfzsLZj8KsuwPqkbXpJzqbbLzCzfdpnYySKCa0fBLkd5MM1/WtxWd66/I6MyaZkbcKVTRAQNx+l0YmbmGM5B48KFRKGcvDkqJVd97XC9gOeln6kdL41LB26WC503Wa0zD0SHejme1UApUtk1rE6k=; 5:LMdfjZ9TGiD9ZIgRR3wkii9MAvHraxGQI13cK8luxbrSUIEE7ExMcEDgfFmfZ6PXaP7bCoHPpiS+y2urR4M1fzGL4StN/I8Po66AWPDuGR9BcQpdG8AjuDvCCBp/YkX86JdSOOgI/NEICn7p9Z6RCv2jxLNPVX9rSA23uQs1o5c=; 24:uVKwZyPMlw0NKuDAgFftENz8z6ecjb3hLHcHxog6LZL4ZksBSTvG6rXNPJQdym20d9kj6f0sekfvA1003JIh+L6Z25qJFeAr7HOKs/HQDQw=; 7:pv05y0jDfWikI1YQ5sgQnc3wtH40+oViMIk66Hgi6awfI1sIA23N6q35HFQA6sNNYC4ew/st5VqrnW0tqnxUff7UvT3uAFZWTr3RmCOKacPL/Y9OT3/crrBw0Q2bEigBc1dJ5gTJDtcvIoqfghSV2glNFroLLZwQd9BQ9UJsw6OaaD+EJrTaYnPcDgQnrTYdfob9DTW9bUz/ypDMnGrsqMeEhBNlsuJ4RQGRvlq48iLJXRir28cvng1Xwu44MKbi SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2017 16:35:18.0945 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ba1fd0fd-c5cd-4f48-ae0c-08d53034afd0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB310 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes From: Simon Marchi Replace with for_each_thread. gdb/gdbserver/ChangeLog: * linux-low.c (send_sigstop_callback): Return void, change parameter type. Rename to... (send_sigstop): ... this. (suspend_and_send_sigstop_callback): Return void, change parameter type. Rename to... (suspend_and_send_sigstop): ... this. (stop_all_lwps): Use for_each_thread. --- gdb/gdbserver/linux-low.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index 63a187e..76a88c1 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -3932,36 +3932,35 @@ send_sigstop (struct lwp_info *lwp) kill_lwp (pid, SIGSTOP); } -static int -send_sigstop_callback (thread_info *thread, void *except) +static void +send_sigstop (thread_info *thread, lwp_info *except) { struct lwp_info *lwp = get_thread_lwp (thread); /* Ignore EXCEPT. */ if (lwp == except) - return 0; + return; if (lwp->stopped) - return 0; + return; send_sigstop (lwp); - return 0; } /* Increment the suspend count of an LWP, and stop it, if not stopped yet. */ -static int -suspend_and_send_sigstop_callback (thread_info *thread, void *except) +static void +suspend_and_send_sigstop (thread_info *thread, lwp_info *except) { struct lwp_info *lwp = get_thread_lwp (thread); /* Ignore EXCEPT. */ if (lwp == except) - return 0; + return; lwp_suspended_inc (lwp); - return send_sigstop_callback (thread, except); + send_sigstop (thread, except); } static void @@ -4156,9 +4155,16 @@ stop_all_lwps (int suspend, struct lwp_info *except) : STOPPING_THREADS); if (suspend) - find_inferior (&all_threads, suspend_and_send_sigstop_callback, except); + for_each_thread ([&] (thread_info *thread) + { + suspend_and_send_sigstop (thread, except); + }); else - find_inferior (&all_threads, send_sigstop_callback, except); + for_each_thread ([&] (thread_info *thread) + { + send_sigstop (thread, except); + }); + wait_for_sigstop (); stopping_threads = NOT_STOPPING_THREADS;