Submitter | Jun Wu |
---|---|
Date | Nov. 15, 2016, 2:39 a.m. |
Message ID | <9dbb3532b173a980f341.1479177548@x1c> |
Download | mbox | patch |
Permalink | /patch/17581/ |
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 3F6302C2A0; Mon, 14 Nov 2016 21:40:04 -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 AHpYHVmUymHw; Mon, 14 Nov 2016 21:40:03 -0500 (EST) Received: from mercurial-scm.org (localhost [IPv6:::1]) by mercurial-scm.org (Postfix) with ESMTP id CEAA82C2BE; Mon, 14 Nov 2016 21:39:55 -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 CABAE2C29D for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 21:39:54 -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 49JZb8dlopK2 for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 21:39:54 -0500 (EST) Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by mercurial-scm.org (Postfix) with ESMTPS id B49712C2BF for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 21:39:48 -0500 (EST) Received: from pps.filterd (m0044012.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.17/8.16.0.17) with SMTP id uAF2dlhS016281 for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 18:39:48 -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 : in-reply-to : references : date : from : to; s=facebook; bh=3q5vPd1kHfU/+avXdUv2Ossgse4AXR4QzOA678mwxpo=; b=CRZOjDE0Y0wp8iFKDcDoOOIY76jL8atn8cnoKjoAcp26BN0bCaPaz9gWLxPHWur+DIwJ ex8w0hjAFlbekdHf5m+5aV/OLiUxH+PMRdgmB426vnpE0b2peZ3Cwv6Juyg3n1kQNoFH pSv1cJW10XyF1Ki/twRW8gd2JYSLWI9SuZY= Received: from maileast.thefacebook.com ([199.201.65.23]) by mx0a-00082601.pphosted.com with ESMTP id 26qjtra69c-2 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT) for <mercurial-devel@mercurial-scm.org>; Mon, 14 Nov 2016 18:39:48 -0800 Received: from NAM02-BL2-obe.outbound.protection.outlook.com (192.168.183.28) by o365-in.thefacebook.com (192.168.177.24) with Microsoft SMTP Server (TLS) id 14.3.294.0; Mon, 14 Nov 2016 21:39:45 -0500 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=aKk9lqQgkwC9es4jjUWQ9B+TaoW4VIQ3eCWGZNn8Ths=; b=Yk7sffXceTIr4TMPSoesbTKU9fQeUZiNmM7FX/5T7v9lO1UmXDvlV1Pw8w/YTQv/znlSjHuNCU1ZPuZkYBTGxy/JJ7qM+4yX5cY2GyrXft9wa4MD2kl7mI+q0iiI05OZ+xphfPM60dNZGf2bQKKkInmHCcm/yDClD4wUO7cvkqo= 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:42 +0000 MIME-Version: 1.0 Subject: [PATCH 5 of 8 V5] worker: make waitforworkers reentrant X-Mercurial-Node: 9dbb3532b173a980f341e41d9e96338a386364e5 X-Mercurial-Series-Index: 5 X-Mercurial-Series-Total: 8 Message-ID: <9dbb3532b173a980f341.1479177548@x1c> X-Mercurial-Series-Id: <7a81772420713713fb37.1479177544@x1c> In-Reply-To: <7a81772420713713fb37.1479177544@x1c> References: <7a81772420713713fb37.1479177544@x1c> User-Agent: Mercurial-patchbomb/3.8.3+274-8bf84295e59b Date: Tue, 15 Nov 2016 02:39:08 +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:RxoMmI+1uOPH+ghqfUYei8raH4kC7n7A+JQBChcJvJUFzPx6J4wT1tC48LV6SjC8viLGdDSmlE4cG11aiSK5t2UvuWspgoUJh7XLfwsqYe/ByuuIzw4uPGR2qgBfVc96O1+pe+cL/7lO9yOI0IPuPsYtKiBPohqOrxK1NNHGG80=; 3:iDya5UmTd6DMI6D+vPREyloLI9rKgXU6oZG4Lz9RD6gHLqVR+ylLSV2tIA/CSyt3t8Mm5zb2waE2WAU1BZxX16F/8Y8YMoTIt8eSGTJIlbG/VCYfWG2xet3WKxZShlscBnzaaEubSDukAnxUCYg3VMSOYHEtItRkAI9I2vTH+Ko=; 25:I3OedQgS/v/tDzY6nRCsMkf7ET6j9CDYqv3Ee+741pqp0JPu8fbDo7v1tKLtXBrbLrTtvYz/idEans6A9AKdPh/0KYoBhufDeZRUUyyX9Au+ByK4M30ZwLwE6YKfxmGSEYi3IggOhS6g2Svjjt+gOQvb8HgqdE6wB+ATdFiTRfE5q/BunNA4JkmkVBgI94OsSdnERRIm2CY3Kunse5nrK/JyN9Ll+HjjwcfVIII90WiRb+hNHLVldRYHEkt5Wk3UiUu447mR+jsvrrxnCxAKlMEwGMEtfkI0rhIB0M+dqvbJcTrkrZRMuXYgOIHqKduSFjRMJ7I7vaywZ48jo/9tuGFbP/l4SPhIkYVkQ7wxvYV3IaS+tS3ZQ8s8IESN4IuoCos0DdEtZ/0NyV3uy81FfsWDX//RdLalaxP28KT7jSTRpsbAaddoJheXraddf5ircF7FtqJ1SHT/s/eWyaTNNA== X-MS-Office365-Filtering-Correlation-Id: 801f851b-0f92-4ad5-1e04-08d40d00a78b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:SN2PR15MB0989; X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 31:+7Sv8Mn60PH+FKtpalYuc2O7qI8N60LoXuuEB8AYPkMuTemR4PudDS4LLNQEmYUGzYRczx8ZR7HA/nuyBZZi3jytRQgwq8r5obRsVK3y6s+gyDUaJh0zIKTv4Jl+qsfh046TenvqB8HD7MbbejjVORFjMSvwBdLn1OdPS49zPiZLadqnFMSWvNJsp7vdTLCA75dusidyLpKdVi19OzapRc9+CkfOIbseUSWLJKF+l7mFS/uk4YSbx43oViA2oMYDBcOKvF80XMOkkWQsjXm8FA==; 20:7CgjEFzmP41jwFDabyBMuidhklSBy/+WbGYuSvG7OzLlQOY5tNeqgCpZUFQeicnIJjrj7rbWi/CceJPKOP6qmJbQW//KDXV9H6xd17C/4PhUzEJ4z5wBtHrSUp4+NMzUyh8XJm/gJcpzVqMkJAyhXnKgv7ogKZsCQTfEXLtbGRLqdSrUCKar0N1YW5SXicNxRpx3q8zgYVJspCVskd+HCK+ki5I4SDXpuycxLbXnr18laX7vFe3o5KmGSUls57pG X-Microsoft-Antispam-PRVS: <SN2PR15MB098967A87E3A522BF45C0F64CDBF0@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:avwmJDatv79fbLZ2XFI1aSZvc5PU7P46c4/5F03/gSuKHJQb9c/MypC83dZo3EpnvRU5le1hQGwFAXglF3R1FGI4jW5r8a9HiQAHtXGHihAIIRpFek1+P6wouxDiW5Vte0/G0z+GUJudYg/kGLiPZmcBsmh3EqG+8/jspwimRsKqsyAcCGYTBPdzZOYFLsllbudGpdyLj8uQBxDbyU6ZQLXTnnHsWBZekwV1J387oa9jmLvqSS9rGuSaHWoRH27MmXkl1vSAJjhjDuWXcu4UstHLKs6FytC3GbYesyh4TAjdyLVK/wfNrI7vUNsJOVNb9enlYasKqKKoWGhyZNOQbL/ardKvy/F0vr+f+bBcm8LeGNIaOvtcMjZYKFnd0+dUJ8uidhyh/1N7ESkRfUbrN8plNWqbnHV8UumK6uZ7W5o3VgqBaNWEiqRH4eHzyCaGI6OIz5wpmuJIFZ97q5p3SyqsIRAxdr6bCG61QBjGWM+E8lxAaH49+zQjhEQSDNzN X-Forefront-PRVS: 012792EC17 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(199003)(189002)(8676002)(105586002)(2950100002)(5660300001)(305945005)(6666003)(77096005)(3846002)(6116002)(54356999)(23726003)(2906002)(50986999)(110136003)(81166006)(46406003)(230700001)(6916009)(2351001)(33646002)(81156014)(76176999)(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:/Kj9yGJcsPYjVyTHbGeFf0R6dgdwf6StJsDDuy+bl?= =?us-ascii?Q?vWTftTibZHo4mh8XYxwfEofjST4IXIHOjs/brOVLbCjzo3GIyj6DIU6h9xsY?= =?us-ascii?Q?TcA/i51NyrptuyQelNGz1Nj8xwEyIt18lLQjXfvdyz/PHy25kgmhtU6QbTUX?= =?us-ascii?Q?vM54XdH7mvZZ0VZ1Vv7Y46fgMEkD3PASF1NfWV4+cB3bxLSSXTYbvQXsCeyu?= =?us-ascii?Q?SQ8ZOUm7qE1XIObx10juz+7fbLF5cEHWzvV6KrBT9+PDdicg6n+HLHz0RC8M?= =?us-ascii?Q?Bzfai/BBJ5DzmNXPzpQDrecYRdO5SZNO/L8RXae8pZ8GxIQHwe7fdpaf5M73?= =?us-ascii?Q?7cgpoSt+pE1rJxiCR4n1knJKOb/0a1b+9fooCB2t5JrrCgSHjODFVT4ngSFn?= =?us-ascii?Q?3k879bIOmLRIesn1v37i4R4HINoY7824CdltDJ8ZwNm7LEWyfRtgdFQ8eX1m?= =?us-ascii?Q?O/GjaV0e3Ff6CLIJR4wR16nS5AVC66RphgIYImTe/Fj6TQYRI57HhfHkpfOw?= =?us-ascii?Q?ydQkqETBJawDcVB8kNv0UTQyWNXeJO6YcCqty7ndlDRr1jRKPEnscjr/6mdK?= =?us-ascii?Q?v2UHw6YHzEApkoGYJ+Sww7oibZWzfgCVcds4uqoWiNySxPCt0FP06Di6hNdL?= =?us-ascii?Q?rIlMIcjcRo7M69UyTJI2hDYzeO1AuvKffXLSn5l1rbK2T/M3uH4M921Ft49H?= =?us-ascii?Q?Lc0B4lDyGg0mGEKxuj1yfYdNnlzeCMXbsLVb6k6N0umCUeMu3Kuj2l6c3nCx?= =?us-ascii?Q?4Y+lAUpFVtpcfjjw5ig3a2zX3SdQTCf+81Q5f66BVGiWU30V/Rk+i1RRde61?= =?us-ascii?Q?gZkf+g7V6bxZhIqkY35pQDj6+upTSqqwomTE6XQA1J6JJwJo+hKdpU/S+Tne?= =?us-ascii?Q?O8tl2r5owGNDRsIZ3QDlD3lUmfhiIJl1uH/eckJhm8dEIZ6TyejlILc8v6QJ?= =?us-ascii?Q?7qXfXBKgQqI8zc/TiiAd1hW+bG/ks5+G+gAkTQ7WBycCz+6vs6SbRmYzlgTJ?= =?us-ascii?Q?s4soJIjs9awShjX/PutWPF+qJXHc0vnlxgIQ4IWoJZMMKhJf7ZQsfnpf5YKu?= =?us-ascii?Q?9ex8iz5+VgJn+Cl7ixwxg/sLSyOG+Lb6fUgVHjfY2MNd3jJ8Gr72IZe87hiL?= =?us-ascii?Q?0a2czvuKl3WUgyNmdkXJ81hkKWmS14jthGGJpltA7SVYSBpp/8bw4T2uan7i?= =?us-ascii?Q?OqeLq9DxJTsy3LzOuU6hhDN2V+iblzYE8go?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 6:9K20eiugPbrpIIVb/NX/IRoQMPX6CcZf4TsFquJXLPDBvLR41VrS1bcEjKkMFZEUZjKsfaAa367qV548okNAA5LwI175QXDN+3SclzbVC/wUkU8Eb3C3m+BdmrfUDG050BtMDtwrrV+eo8PrAthtTvGigGmOqqGH6xC2g1dx4ALh5KfM6BhsH+cmHzoK3CFtm52FqcyamnLTDRtovK/5YpG4+IAqaKPjraXAdFQjRHRc0aXJUL7oyvXP7GjmCpAYfADNxNGUc36/dM4hLe05dZGyYGY5URHKFjfvU9jdMJcH8lkKyc9q1IfaNPhrEmyrkCF3SIFbvpa9gXe03DDPBRVn4CDI3qLbFppUgpxUvKs=; 5:64H7cKY1WVQk5lHwHN13fBV6xxvilfAQk/heZGTyOvRHywCLXgr17H0Nv6ta1yzSpZ/zFGIvWCWNP2Miv9brLHLzQfWuOwoHbzYnHrfpjw7qCVGu7IIaXUK+lcjGap5FVYA26z73M28zIJ6MfyEDvw==; 24:lHnMltH8luONI5EFOmQ0z9PpPa0DWNvdG0rVK1wSDcp14yOWd18o1Lv6FCC9X9kOGsQH3m3VfuaXkK/9WA9vqrCr68DNk6oQO03KADX6sxc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN2PR15MB0989; 7:OUeVQe7eqhTv4M9Gq1TNAgG/PpwF/BnsREFkLXWzI4YzwJvwW4Xp5RuHZ4N6zUSo093sFkFPjyp7MXZoQFJJtH0hTY9sD78OjFopqtfswsLZ9gIFUV5mlnZS6jataG+vwYMJxEaJ/VYJ+VE5Dzs7OjA3yxryfPjsxtwp1o7/d0jb6IDnkcVibUQROb4vOv4O+Ordj1uu0RYQDVj/rIXlUKSI1ddZo6GuDgtCxrtHoKFp11Mf002qw+mzrOOSFUarBWboCgS8JCOrhIzju2vHmIQVNv4022rg49ejt6SPlB+qYn5pwnaMbHmk6FnKSO5lVrcER/oz9MSq1FYaYfAAr7ZdxeIOT11kJc7dmOs6Sws=; 20:sufI9trUJw6I7pEVW6DY2RP6xEkTHBEudgFyBXNgTpuD9NiGd3rI9CCJWcYRwoe2ghnebD8UKk2ar5xe9kFP/Hhdsk67kfKqVPVB6Xjp8FBJoOuTqYym7qIbn3Y8yMYCy3etJo52tO1CZ/7Xd4WvkDUQw50VnwemB/S6E2NZeZA= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2016 02:39:42.3762 (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 @@ -99,7 +99,18 @@ def _posixworker(ui, func, staticargs, a raise def waitforworkers(blocking=True): - for pid in pids: - p, st = os.waitpid(pid, 0 if blocking else os.WNOHANG) + for pid in pids.copy(): + p = st = 0 + while True: + try: + p, st = os.waitpid(pid, (0 if blocking else os.WNOHANG)) + except OSError as e: + if e.errno == errno.EINTR: + continue + elif e.errno == errno.ECHILD: + break # ignore ECHILD + else: + raise if p: + pids.remove(p) st = _exitstatus(st) if st and not problem[0]: