Submitter | Jun Wu |
---|---|
Date | Nov. 15, 2016, 2:39 a.m. |
Message ID | <7a81772420713713fb37.1479177544@x1c> |
Download | mbox | patch |
Permalink | /patch/17575/ |
State | Accepted |
Headers | show
Return-Path: <mercurial-devel-bounces@mercurial-scm.org> X-Original-To: patchwork@mercurial-scm.org Delivered-To: patchwork@mercurial-scm.org Received: from localhost (localhost [127.0.0.1]) by mercurial-scm.org (Postfix) with ESMTP id 217D82C2BC; Mon, 14 Nov 2016 21:39:48 -0500 (EST) X-Virus-Scanned: Debian amavisd-new at mercurial-scm.org Received: from mercurial-scm.org ([127.0.0.1]) by localhost (mercurial-scm.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id s-av3vMQo9yV; Mon, 14 Nov 2016 21:39:47 -0500 (EST) Received: from mercurial-scm.org (localhost [IPv6:::1]) by mercurial-scm.org (Postfix) with ESMTP id 273842C18A; Mon, 14 Nov 2016 21:39:47 -0500 (EST) X-Original-To: mercurial-devel@mercurial-scm.org Delivered-To: mercurial-devel@mercurial-scm.org Received: from localhost (localhost [127.0.0.1]) by mercurial-scm.org (Postfix) with ESMTP id 24EE32C2A0 for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 21:39:45 -0500 (EST) X-Virus-Scanned: Debian amavisd-new at mercurial-scm.org Received: from mercurial-scm.org ([127.0.0.1]) by localhost (mercurial-scm.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id MvIh-e4M3tiV for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 21:39:44 -0500 (EST) Received: from mx0a-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) by mercurial-scm.org (Postfix) with ESMTPS id 7BD602C18A for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 21:39:44 -0500 (EST) Received: from pps.filterd (m0001255.ppops.net [127.0.0.1]) by mx0b-00082601.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id uAF2aXPB021946 for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 18:39:43 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fb.com; h=content-type : mime-version : content-transfer-encoding : subject : message-id : date : from : to; s=facebook; bh=qFYCGGXm6neMJ9jz+Kvu78WCllyUHGwbadQDIEBCWpY=; b=akydjK3WmbXGGijpB6S5LdzBtymElxmM75zHQIkTMvJupCxb2+YR1hEzQjhXX5fPSw6c 4mn4UId9w3UyDgVx89MVkw+jxufFkKQlfi/+fGbCn2drr3Xdny4lDP39WA/pMdoMnL9+ eXGuX2ysBJ6FN8Z3A81TyulucZCMXsTdbX0= Received: from mail.thefacebook.com ([199.201.64.23]) by mx0b-00082601.pphosted.com with ESMTP id 26qq07rqhx-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT) for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 18:39:43 -0800 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.24) with Microsoft SMTP Server (TLS) id 14.3.294.0; Mon, 14 Nov 2016 18:39:42 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lsfwolh9joWzjjN6FELsMaeaowfFUY+zxyMEBfg31kE=; b=YKcJ9RUbr9EIJ8+bPnt+HALZDpDvDGWRSHPEIqmRO0dNNOCoPhYA/1qctnMUU7Jm6w7ywjvWHdrttzMJ9kaY2VgxyJlenWirdunz7jRxvGHuStxEo0VGm0zKYcq8ydmzfXzDX2Pi0k/qDSN+bjAbUvWLR/e2tjapzWtUaXO8pMg= Received: from [10.0.2.15] (199.201.66.0) by SN2PR15MB0989.namprd15.prod.outlook.com (10.169.191.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12; Tue, 15 Nov 2016 02:39:38 +0000 MIME-Version: 1.0 Subject: [PATCH 1 of 8 V5] worker: move killworkers and waitforworkers up X-Mercurial-Node: 7a81772420713713fb372966a9018c20083beaed X-Mercurial-Series-Index: 1 X-Mercurial-Series-Total: 8 Message-ID: <7a81772420713713fb37.1479177544@x1c> X-Mercurial-Series-Id: <7a81772420713713fb37.1479177544@x1c> User-Agent: Mercurial-patchbomb/3.8.3+274-8bf84295e59b Date: Tue, 15 Nov 2016 02:39:04 +0000 From: Jun Wu <quark@fb.com> To: <mercurial-devel@mercurial-scm.org> X-Originating-IP: [199.201.66.0] X-ClientProxiedBy: SN1PR16CA0071.namprd16.prod.outlook.com (10.163.13.39) To SN2PR15MB0989.namprd15.prod.outlook.com (10.169.191.155) X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 2:dVcPXRoVFtgbyt0rgDESI0/cPLOYJ4qMADqnFDfWN9w/CpkYi+lZp2uKButIFiJ/O/FxCMfg+/VLZ52zQ/UCLCmXjendjdnhHlyP31eZAtB53kHwkuBtDukmrcApjiB+n6GEwcqzsFbhMUBT08GRec47U0VMqS7eCryKafXUe+E=; 3:hPN7yonbOr1WOjxbemk6QASKyqniXZ8ZY6BrYDd6szvnMGXvJm8gn9JIDUWfj4IrlTKQIkFe5H5AO0w2ubwsdhb5NnATiGbRYDx7Fy8PKEH5jGabiGroieqXlUB9p3E4RnBej2IPE/EVs7ifheB0x0X3a+xn34c79hF0kKKhQnE= X-MS-Office365-Filtering-Correlation-Id: 13a37aee-b2d4-4385-afa9-08d40d00a523 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:SN2PR15MB0989; X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 25:rr1o2qYMrId8e9HvKG/yPyH1pTx0AOXRxykjPMQqqPkuakWMtnlbU+wvd3Hx+qIUgK1sV//LaUyjnDqHkFg0+usBihVDJhPiCoUtEnjwNDGx9jmydWsvLeeri/U4d7RvH8LLJf7mCORwfqXt9E0acnXQQC3flefM++xc1GGZi5bqLZQfkAp2656pZ1E04W/59LTjrnkg39EX/EBaKif1QTJbXmPgbxmvIzwLpv7GeIHYxWTyYW+G/psr0zcjXRugzqN4eHUydyv21OM/7KcFaXO0zxP8fwUcrewMCSbYusaIdNVjz64d0+jP2pTRfvQRa/mo/f67gfbPptU7RhQ17sqZ3s1NvQ/ieLVXHLn+6yAyTMaPZlEFNuiezD+s9pv1GOf7ySxu4PT/KzHxHtge4GdWbXPT+s7KSkDFzkooj9IeXt8ltIE5+KnHHqYhK+HKfSHZd9ZcWXHcxXPSjheawksg7/c2PfU+ot5EsQS36+deeOTJ7g78Sfuinv6Yj/2E66iVU4jI3/4IUnfkhLnAryFKG02AEGHoghZQ8ZuVeJhNhyM3XjarGeUL64lGw6UhQis2zykZSi1zktXnZnDhAU9jbJ/czJZPu9CjNH/OI2b9Pj0UXC3Iio0L0DDkND0geSnnbysfI0/wR53k7lJA7IJ5ZGQpNKoWVvOoHYf3zDjvXLbFQHmygjeUExWBH9uLdpuZfVARDTiWMFSaEHqryDHrPvgcrt6C+4h8eDhbhGn1vx+Ukzy85vcPiEFAqHDQydfEHVywGmrvGYkVJ+Ji83qxNZULvhk6tWd7jmt1GjspizqGDl6ACcK6IgWGYp6Gio57ezF02Z8ay+jQtp+pg33AgQTCmnfLzfQH70kaGTE= X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 31:GuUWN1jAQ5BU8qAKpeNkkg2fVp5F/pQ7iPQ4b3GYeqoIGNieSSuViVBnVb9hx4swCT/dN2IGO1nxEV5Ak3D/MvDAFjmG1EILzWYhM0om/YG3Snf+hmMptIx4ih8QkC/wh9SIgWjL2aX0p5sFj0zafqjtP7V8zKkwvoTCAWbZmKgEFC0xLljiogkTARJ83hITgcRrV0/AwEF4hqdifqW/OTMwGaGkN2d7SQ5G5kJNfh66s9MP4d/w032BPj+A5qH8VDnod8C1YllIl1hjpTySfA==; 20:AcOpv/WOcruL32XwL/umwz5vQdGzaXXykEDObZCRCwj+kAEJziGipNpqfTJl7oqIT8l4QK2WgZQNew8pWJuCsnxFZyVcaC9ucMVGPPB8KGN+OI1p5j0N6AgWsRk+eGmDwHyKQqH4dWy0FuOJVJVx5v7VtxBquyb/kFIu0QQkXBbwNJhqtYYp6lMPp218BzF/4jS093OSa0EuU+8cCEDmR4j/sehCZTfLsw/yF6VhBEICIchaYPbWnVktL17k38Q/ X-Microsoft-Antispam-PRVS: <SN2PR15MB0989DF87089CE9FAEBB06527CDBF0@SN2PR15MB0989.namprd15.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(67672495146484)(63843785518722); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6060326)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6061324); SRVR:SN2PR15MB0989; BCL:0; PCL:0; RULEID:; SRVR:SN2PR15MB0989; X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 4:/7/208rb+4IB5pwu7OXAmITPVSzP5FpsUg3ekoURcUw9qadrxeiWTLTU6eXRxxb8hVO0aB2RZ8CJGIkK7ZC5QdaX8vJ67KJ63w0Wa7bRQQmYkOdJm21kORUwVl+esiJ4Uem6PDwWF4iHCkz9NhLCyGH0yrwjWTAZiTwz717vZsOaVWQuENQOMOurjvyp/kg7/gu+V3MFxHVaoVVpVmuPvo6ep5gPPdcWOH0aa3T+NLouZGFgGGA6VF3YrSqf5uob1l71uqkG5B9MkAgy6AG5nMGTChUNh0KDGPJsysxxF+IfwkkBRkgmAzyOvcpXK4H1ZREM1nCkxowbBwInVqT5WSWtVu4hrIGQd0mlZhzuOU6y5gR6u37zouV2xCKOsAyDdI93/VUwlbbyGRtgJTtlzLCjIpOwx95wHEa64DodCsKegWqkdPlEynM/8F9NhjO8/tUg9omzwN6DSR5cG9hKTVOhGWAucKfwqqysn2NAOMOmnhJEAesy9PEAbHq6HoJa X-Forefront-PRVS: 012792EC17 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(199003)(189002)(8676002)(105586002)(5660300001)(305945005)(6666003)(77096005)(3846002)(6116002)(54356999)(23726003)(2906002)(50986999)(110136003)(81166006)(46406003)(575784001)(230700001)(6916009)(2351001)(33646002)(81156014)(97756001)(7736002)(106356001)(7846002)(47776003)(86362001)(50466002)(42186005)(66066001)(33716001)(450100001)(4001350100001)(68736007)(189998001)(107886002)(97736004)(9686002)(92566002)(83506001)(101416001)(7756004); DIR:OUT; SFP:1102; SCL:1; SRVR:SN2PR15MB0989; H:[10.0.2.15]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: fb.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR15MB0989; 23:FSUJ2d4g15eLHNm6PsnCHNZh9SSiGGsrEnpxqRg2S?= =?us-ascii?Q?yiwOCtA85EoFY9BRXGxYs406uwzmQlEQga+OjjrWa/bzYmKujrxcNIatgb9C?= =?us-ascii?Q?aHvcbFlW5ONu+A/RGByOak94coovQ3lWf07QwAAgGkQ4eCvWUYuSlyur/UBY?= =?us-ascii?Q?fPKzQQBgQhq/qcxbywBeDfUDEErXo6bevgzBYeCqJUfW9KNSyN32TC5XPPLq?= =?us-ascii?Q?8oicc9tBH6qiZpSe6rbrUytDixh9f1/p45oTDNAeOppT4+LfK2uwtbo2M8yv?= =?us-ascii?Q?RA8TMnFe/9WX3hJaBGrhXb5oMDk5UGrUjsaC5tsI0TLjWLkr/QXInfmgDDAr?= =?us-ascii?Q?dqZqpSvbVINPhJwYG9IBhPg5wBQm2ZgtnzY/cc7GRzku+5Zr2VsVjN4LMUKJ?= =?us-ascii?Q?tNrVowbetBzK2PEyPpNPLa+bwsFC059sKCEuwQJqbjvoF3KRXPIZUizh2vFW?= =?us-ascii?Q?t+pJ/LW4u3gDc1lxMRUllm1xNv/iPjik+0CNHNRFTAYPRVuDIUpZ4HJnhuX3?= =?us-ascii?Q?gzaF20D7Nq9jsDC881ax0nL3KAxLMyx/wySEkUkLjLBCoCXprK2UT+nFo+Yi?= =?us-ascii?Q?OJOLomtAJcOFAtcBgoXc3u76yRRzpa+Crhwd52aWcYo2jdSzBn09R5TPorSX?= =?us-ascii?Q?9q0BaijBH8PmKNFZfx8AG/yKN/7lUC3sAiB5Hu5wasP/z3y5g1OLEl2GRrG+?= =?us-ascii?Q?QV7yHlUiCFm3rM7I+eRbbpEvrJkmWuE9lx/7E3dYCvHrGk5ERKlovH2PBwMK?= =?us-ascii?Q?xBn8447s223lHdH8dGahK2EdFzUXWEUVAExH+3mRzBJd8a0cqRESwYHYr/q3?= =?us-ascii?Q?OE74v6Q5v/ATFlrvV7AWHsGEKq8hEwm53R1WfYF0nMXnSI5MAnnlrsMutQAZ?= =?us-ascii?Q?bbvCJ9FRzHGZWeFUY4ATdG2XwX5fGzNfaSpIzCTEC7srS9sYYaHq6Zgfl6OP?= =?us-ascii?Q?m8zbMPnJaefcecWT0hvwmRs+izQoVtf/Mk971bn5gyYySCT0xxPLX70cEuoi?= =?us-ascii?Q?sivrjTKylzJ+H4tA8VkfkDXiLmXjAzsOsrJeF95NgpNo3LOrFgt4usuGeSfu?= =?us-ascii?Q?NEEG1fEwX6Gxp2y/PUC1VTKgMq2PpvJCF4cKjRTVd4+DE57u2nnJ0NhLMaBH?= =?us-ascii?Q?u0fBMIqavSTJ62M77hQRwcIcjLji0u0ZtjzdEdYrDepiFEbelVrC0oyON7Me?= =?us-ascii?Q?g6GJH/gd/BScO0=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 6:ZSnuTjdzIS7OxaRySbclpGPmUNuO/Gf6en1sHYJUJ/3Gbne26OPNl6xB4wR77j+RbXiyFbR9Vw7J9hsAY4hCS1xTQAV26E+HRrbmhlNc+hgFv/O6QYL3haUnsynLHkHW48CbrTIR4h67W6NMBtl5JEQQOi7VFm9I6tzPxLqRvZqEWdb0n0t7Y5bVYDlrI4u9RM2S8Jgzdg3VtmncL5S4Mef9iCu7GEUWtqPr8VzA4bppHdODClDRNE06bPUFSe7JBwIpvO4iXJ3bZflcucNg6vPYycpZUPfwXZ9k5J0BqUh82UlOcSBKORKbUwTyl93g7c6TdwxX4RghPcwy9NdeQgSIhXGIH8ZoPfmRQCClWXc=; 5:qTkIy6zetKgRqPRY72z5yFzUQioYPO5vEqq82fo0wM3C/1W+pZCJ3BSdmi1dEdxwjN6Y/V24dzMc8WVc9aAFPxL836Ri/Xat/bhUhmOOJvf/oOpnWed01drC1nWnYAh0odMFgGPTGV9tw5UiAHNHLQ==; 24:Uvg4UdpSclgkOdC0w0uSXCLZ3AGUAFQKdcM9w2OKTldw3CVibtTC5TFb4Tdjy3qAtEhU9I2heJ8KPEY8k6io4c1niJhUQ9GIgr86lGMmSWI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 7:5N9XmJXJ6kicoGq6xDHhKk4J0KLlFPKjJSlbk0MwrvSOzlQkVxHrxCLPM4r04Dofn/PQ2FKYzQpnMkAmQKPGONwnMM6aCkmrYcySf1Uv4UQsxLfsuOrSW9lY6cuTDcJ5pFeUonC3uVViAmDcUTCEcsLbiFVJJXlgZoQCgRdVETg+Q342dhy4Npit4yolYaGbEkGg8iRlgMjC6peiBzFAbgm1LIKrZsS++ZbEXex0Od+zIDTGvbAvbWl2AGb1aN7qWbA9GU85xB4UEoI2gspxKYYozIZKm/ChPQWM+gtX3n/7g/SZ4OztnwwYvepg6iPaCKxg61NI2O6rVk9O3OF75x206VqxSTG+u3rX94M3MW4=; 20:g4PMM4QQUzd2KE2gnRQbucRSTxXmrTTly1pXMOKizsFJAWLSYDkiWNk7qArcGBfhv2MjYW8hoE4mJhKxGhQCO1FURqHWGMekHDqPfzn6ZeafdlmdXV6fNbvo2QfvKACGNwYkrVVuT4nr/dbSBR2k9eAPGL97KP5ur3IEWy2bMe0= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2016 02:39:38.3619 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR15MB0989 X-OriginatorOrg: fb.com X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-11-14_14:, , signatures=0 X-BeenThere: mercurial-devel@mercurial-scm.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <mercurial-devel.mercurial-scm.org> List-Unsubscribe: <https://www.mercurial-scm.org/mailman/options/mercurial-devel>, <mailto:mercurial-devel-request@mercurial-scm.org?subject=unsubscribe> List-Archive: <http://www.mercurial-scm.org/pipermail/mercurial-devel/> List-Post: <mailto:mercurial-devel@mercurial-scm.org> List-Help: <mailto:mercurial-devel-request@mercurial-scm.org?subject=help> List-Subscribe: <https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel>, <mailto:mercurial-devel-request@mercurial-scm.org?subject=subscribe> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: mercurial-devel-bounces@mercurial-scm.org Sender: "Mercurial-devel" <mercurial-devel-bounces@mercurial-scm.org> |
Comments
Jun Wu - Nov. 15, 2016, 2:39 a.m.
Patch
diff --git a/mercurial/worker.py b/mercurial/worker.py --- a/mercurial/worker.py +++ b/mercurial/worker.py @@ -90,4 +90,18 @@ def _posixworker(ui, func, staticargs, a signal.signal(signal.SIGINT, signal.SIG_IGN) pids, problem = [], [0] + def killworkers(): + # if one worker bails, there's no good reason to wait for the rest + for p in pids: + try: + os.kill(p, signal.SIGTERM) + except OSError as err: + if err.errno != errno.ESRCH: + raise + def waitforworkers(): + for _pid in pids: + st = _exitstatus(os.wait()[1]) + if st and not problem[0]: + problem[0] = st + killworkers() for pargs in partition(args, workers): pid = os.fork() @@ -107,18 +121,4 @@ def _posixworker(ui, func, staticargs, a os.close(wfd) fp = os.fdopen(rfd, 'rb', 0) - def killworkers(): - # if one worker bails, there's no good reason to wait for the rest - for p in pids: - try: - os.kill(p, signal.SIGTERM) - except OSError as err: - if err.errno != errno.ESRCH: - raise - def waitforworkers(): - for _pid in pids: - st = _exitstatus(os.wait()[1]) - if st and not problem[0]: - problem[0] = st - killworkers() t = threading.Thread(target=waitforworkers) t.start()