From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 82F80A04B1; Thu, 24 Sep 2020 05:44:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D8CD31DB3F; Thu, 24 Sep 2020 05:44:30 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20071.outbound.protection.outlook.com [40.107.2.71]) by dpdk.org (Postfix) with ESMTP id 3202A1DB3D for ; Thu, 24 Sep 2020 05:44:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J9UikxLvcOJtqWKBlGL/7Rzgo9hMK1+5Vy7CHztIPSo=; b=4zWnmdotLOrw9P2KS446n6uH5FdkwZxAytb0SsCNikr5qkHhYO7vskOjPWtZYjDJMh5D4ZkryCwFJAlEeTjbBHMTBgrnyzTS3QJawcq7IEwWMHZ5wBEthuZah6ixYyU9BHHmPNetT9wTQQh2fadEYZ1aorFXXhHUur4MI0zmSso= Received: from AM3PR04CA0145.eurprd04.prod.outlook.com (2603:10a6:207::29) by DB8PR08MB4155.eurprd08.prod.outlook.com (2603:10a6:10:a3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.20; Thu, 24 Sep 2020 03:44:27 +0000 Received: from AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com (2603:10a6:207:0:cafe::2) by AM3PR04CA0145.outlook.office365.com (2603:10a6:207::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Thu, 24 Sep 2020 03:44:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT025.mail.protection.outlook.com (10.152.16.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.21 via Frontend Transport; Thu, 24 Sep 2020 03:44:26 +0000 Received: ("Tessian outbound 7161e0c2a082:v64"); Thu, 24 Sep 2020 03:44:26 +0000 X-CR-MTA-TID: 64aa7808 Received: from aaa4dac26812.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DA3ED62D-B905-4760-BBC8-DCE4C6626233.1; Thu, 24 Sep 2020 03:44:21 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id aaa4dac26812.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 24 Sep 2020 03:44:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E5DkjJKH2YfYQmpV3RPTH6JyFs1G3bhfNtY2J+Qx+lB63IKwrU3nlCmkqJ2D5jwAUt69mvm0oq4SlLwl5Ay185Z4BIW47nNBa7myPwT6vTB8meX5LG7XXA3GGEKcXaFdvIp50VoAyurh57+sGFeE0Qs1rI3fJqeGCG3ITvgbGBsOWmVsFUxpNGIsil1/dL6GHCdbYl548sd+Yn3MTEoeJUoU+O83MAtzkFapEByL1jRfxj0PlW1snIBM32E1wt87oVsYODRS5yznYnlP9Qt3VEnU1twGPrpah0U7OG1aWEKyfaGld9i4v8hEoE785PB++HsHlcUKUd5WQFCdBzikZg== 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-SenderADCheck; bh=J9UikxLvcOJtqWKBlGL/7Rzgo9hMK1+5Vy7CHztIPSo=; b=lzmOILJuODJYBCCibT6zulT+3jhnIT94FH/g+00KMcf4l7MqSvxCeoiQsHRq9iRN/pfO/cPbwZlEa56oB1BD+xFusLSuct21U6RtjpbyJdJmQVveUlmdSZVx9Zl0+mqvX9jHOG07CfZHw1R4bq/eljMR60Nd2jmkbtVmX9qnH6uCuvRRPy1EwKLkRy+Hbr2oDBz2vDg5dMYJJZd3v4DD/Q/FEc9C8wkj+CcX8IMekBZwvwcMgLmBV2hD8RS2h+paYfE/tdyOPVrMf2LmovU67s7qF5h6z0qtPu8sCkyVABhexJEokvMDDVDho4JyOjHx6QiYy1tR2IYEKay15Nj/fQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J9UikxLvcOJtqWKBlGL/7Rzgo9hMK1+5Vy7CHztIPSo=; b=4zWnmdotLOrw9P2KS446n6uH5FdkwZxAytb0SsCNikr5qkHhYO7vskOjPWtZYjDJMh5D4ZkryCwFJAlEeTjbBHMTBgrnyzTS3QJawcq7IEwWMHZ5wBEthuZah6ixYyU9BHHmPNetT9wTQQh2fadEYZ1aorFXXhHUur4MI0zmSso= Received: from DB7PR08MB3865.eurprd08.prod.outlook.com (2603:10a6:10:74::25) by DBBPR08MB4265.eurprd08.prod.outlook.com (2603:10a6:10:cf::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.15; Thu, 24 Sep 2020 03:44:20 +0000 Received: from DB7PR08MB3865.eurprd08.prod.outlook.com ([fe80::519c:72bd:e189:625b]) by DB7PR08MB3865.eurprd08.prod.outlook.com ([fe80::519c:72bd:e189:625b%7]) with mapi id 15.20.3412.020; Thu, 24 Sep 2020 03:44:20 +0000 From: Phil Yang To: David Marchand CC: dev , Honnappa Nagarahalli , Ruifeng Wang , nd , Bruce Richardson , nd Thread-Topic: [PATCH v2 1/4] eal: use C11 atomic builtins for already initialized check Thread-Index: AQHWkaqeGec33ushtUKFSHghNF1wpal3Jfnw Date: Thu, 24 Sep 2020 03:44:20 +0000 Message-ID: References: <1599794967-17500-1-git-send-email-phil.yang@arm.com> <1600244628-13062-1-git-send-email-phil.yang@arm.com> <1600244628-13062-2-git-send-email-phil.yang@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: C2E0903DC669ED4B96CB8E224A9AE4B8.0 x-checkrecipientchecked: true Authentication-Results-Original: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.112] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 461b4a96-503e-4cfd-1c90-08d8603c22a5 x-ms-traffictypediagnostic: DBBPR08MB4265:|DB8PR08MB4155: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:4502;OLM:4502; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: xWF09bs6W3GoTCLydQadCYok6BechSkUAMMIJj5UmQnvXb8DgvypWU0gThb4dZpcsOAQWJYDEk0UfmOzyGyvBgbtjwwVUofeKWXmDkrCbquWNifWblMokKJz3eZV/dk3IeFN6ZTwC5PbA5Jiy8T3Lvja9RJwVs9bjovnWBp90Ug6UD998ECrv8PqUnjX7LWCeMtJoE0j7Tg3Ehfy2EJNOeFvcyal50xS12rfebfzkh/CVPQ6jAaLnwK/nAIHnbIA6GyHnD7aj36irxbg2dZvPT0egSCaP45k4G0PQn7siNeRSkUOrkPPHCS1vyrE+C6/YLl64VYp/PjgO4AA3tJDm/QJsBg9Gs/ayVV7AViK70Y/fUmye12/LIZhIhcD4qEV X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR08MB3865.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(366004)(136003)(396003)(39860400002)(7696005)(6506007)(53546011)(66476007)(2906002)(26005)(54906003)(71200400001)(6916009)(33656002)(9686003)(64756008)(5660300002)(66556008)(66446008)(66946007)(52536014)(83380400001)(86362001)(76116006)(478600001)(55016002)(8676002)(4326008)(8936002)(316002)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: Kwv7Kzx/9CigJKk3oF3MF9qUqVBFLI7qwSm+FUL8UGPs0ejp60XhcdfxkoPM7qaQyPhfuAV3BaZkSl8u/Hqm03cApwoQcvVbq2aFUWi9hNuF4oDixGsXDo+tFD0sMU1TOt1cFxT+3KwuKO7/W3aoGYL9Ajg84lyQrdSDAwxyv5PKsdnuhrnLCoLtY0PeyAAoarMe0jkKOXeCXSHYDA+NBpK0ed4NquWAy+skmQ+xcMuyLwJmZlVoJTJq0VVFvMM3zPXz6xw4wyWTmSogw/xVfXeu1pvUJLr0ChHNfSOPFf+B7Xgz/rzKKDf9aZRlOQALp+vWTrVcaMgFG7sOQZOIaWDbkzMD52G/YkiNKce7KTNPRohdrA2XCnkjupm9vL7DVQinSxoDQkimGTaMXhy26PsofsfN3+DamYzPmPwVjfQtVovgyI5MVpl66Tq2ZBf90LBDM82zuk1Ph+xl1MdoxEkzToE2nYgJHwPeFJUCoujLKHZA/J9UjS6C1oDIy0Aqp02IZYd6KVYtTSzR65zW2hNT7Q/3EjPx5O+3pEMaCOBHrA/TF8Z7de5OWhywlZOkhPoqkST5zaGa09R+lkqQqF716szE6Oyr9aabUXvGbiktFvgfdLbbILBYMmUeP3c29B7Rbk8nmzxxxxbpSvaWkg== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4265 Original-Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 98e028c9-6941-47b1-77eb-08d8603c1ebc X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: J0VwwO4Z+5XTEEOTeOgNyLYG9Nb19Ocv+CxhOPRuyIuukQXABnpujpk3GXCGOSYhBOWKMc8eLQdRfuAwBuF/JFbQYRtce4JUFCt9KF4oEFcqD67+7u/1bqKs5RVzeAongKrM9N/NYPLXGjVoNmQwajeaiBFzoXQ2Hvi8gmWRSKzcQ9/4zOvwV6UfUWTiYWkgZhtjSDMtaVlbrtBsXfWOOgcUO2DdjR3RgOxI720uf1INSMxsNPPzH6rppKR5/5DEDpuuHyv9q9XZZrxm9+6DloWyXz60Y7dHumD2Ij0sXg/sUonmNKY+/FF1zA/uIiaFob6LZ4OhVbKwnqdqOIiv+Wl6WbhYDimQDWh6ICFpEiHRkDWSCEEXo/rkFiIg/wBIWU40UlBAgbm04Om2OHugIQ== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(39860400002)(376002)(346002)(396003)(46966005)(86362001)(82310400003)(478600001)(9686003)(2906002)(5660300002)(8676002)(82740400003)(70586007)(83380400001)(52536014)(55016002)(54906003)(4326008)(33656002)(336012)(36906005)(356005)(186003)(81166007)(26005)(53546011)(47076004)(70206006)(7696005)(6506007)(8936002)(6862004)(316002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2020 03:44:26.7765 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 461b4a96-503e-4cfd-1c90-08d8603c22a5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT025.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB4155 Subject: Re: [dpdk-dev] [PATCH v2 1/4] eal: use C11 atomic builtins for already initialized check X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" RGF2aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+IHdyaXRlczoNCg0KPiBT dWJqZWN0OiBSZTogW1BBVENIIHYyIDEvNF0gZWFsOiB1c2UgQzExIGF0b21pYyBidWlsdGlucyBm b3IgYWxyZWFkeSBpbml0aWFsaXplZA0KPiBjaGVjaw0KPiANCj4gT24gV2VkLCBTZXAgMTYsIDIw MjAgYXQgMTA6MjQgQU0gUGhpbCBZYW5nIDxwaGlsLnlhbmdAYXJtLmNvbT4gd3JvdGU6DQo+ID4N Cj4gPiBTaW5jZSBydGVfYXRvbWljWFggQVBJcyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgdXNlZCwg dXNlIEMxMSBidWlsdGlucyB0bw0KPiA+IGNoZWNrIGlmIEVBTCBpcyBhbHJlYWR5IGluaXRpYWxp emVkLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogUGhpbCBZYW5nIDxwaGlsLnlhbmdAYXJtLmNv bT4NCj4gPiBSZXZpZXdlZC1ieTogSG9ubmFwcGEgTmFnYXJhaGFsbGkgPGhvbm5hcHBhLm5hZ2Fy YWhhbGxpQGFybS5jb20+DQo+ID4gUmV2aWV3ZWQtYnk6IFJ1aWZlbmcgV2FuZyA8cnVpZmVuZy53 YW5nQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gIGxpYi9saWJydGVfZWFsL2ZyZWVic2QvZWFsLmMg fCAxOCArKysrKysrKysrLS0tLS0tLS0NCj4gPiAgbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsLmMg ICB8IDIwICsrKysrKysrKysrLS0tLS0tLS0tDQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMjEgaW5z ZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xp YnJ0ZV9lYWwvZnJlZWJzZC9lYWwuYyBiL2xpYi9saWJydGVfZWFsL2ZyZWVic2QvZWFsLmMNCj4g PiBpbmRleCA3OThhZGQwLi45ZjRjN2JiIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVfZWFs L2ZyZWVic2QvZWFsLmMNCj4gPiArKysgYi9saWIvbGlicnRlX2VhbC9mcmVlYnNkL2VhbC5jDQo+ ID4gQEAgLTY2NSw3ICs2NjUsOCBAQCBydGVfZWFsX2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQ0KPiA+ICB7DQo+ID4gICAgICAgICBpbnQgaSwgZmN0cmV0LCByZXQ7DQo+ID4gICAgICAgICBw dGhyZWFkX3QgdGhyZWFkX2lkOw0KPiA+IC0gICAgICAgc3RhdGljIHJ0ZV9hdG9taWMzMl90IHJ1 bl9vbmNlID0gUlRFX0FUT01JQzMyX0lOSVQoMCk7DQo+ID4gKyAgICAgICBzdGF0aWMgdWludDMy X3QgcnVuX29uY2U7DQo+ID4gKyAgICAgICB1aW50MzJfdCBoYXNfcnVuID0gMDsNCj4gPiAgICAg ICAgIGNoYXIgY3B1c2V0W1JURV9DUFVfQUZGSU5JVFlfU1RSX0xFTl07DQo+ID4gICAgICAgICBj aGFyIHRocmVhZF9uYW1lW1JURV9NQVhfVEhSRUFEX05BTUVfTEVOXTsNCj4gPiAgICAgICAgIGNv bnN0IHN0cnVjdCBydGVfY29uZmlnICpjb25maWcgPSBydGVfZWFsX2dldF9jb25maWd1cmF0aW9u KCk7DQo+ID4gQEAgLTY3OSw3ICs2ODAsOCBAQCBydGVfZWFsX2luaXQoaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQ0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4gICAgICAgICB9DQo+ ID4NCj4gPiAtICAgICAgIGlmICghcnRlX2F0b21pYzMyX3Rlc3RfYW5kX3NldCgmcnVuX29uY2Up KSB7DQo+ID4gKyAgICAgICBpZiAoIV9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfbigmcnVuX29u Y2UsICZoYXNfcnVuLCAxLCAwLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBfX0FUT01JQ19SRUxBWEVELCBfX0FUT01JQ19SRUxBWEVEKSkgew0KPiA+ICAgICAg ICAgICAgICAgICBydGVfZWFsX2luaXRfYWxlcnQoImFscmVhZHkgY2FsbGVkIGluaXRpYWxpemF0 aW9uLiIpOw0KPiA+ICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFQUxSRUFEWTsNCj4gPiAg ICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+IEBAIC03MDUsNyArNzA3LDcgQEAgcnRlX2Vh bF9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikNCj4gPiAgICAgICAgIGlmIChmY3RyZXQgPCAw KSB7DQo+ID4gICAgICAgICAgICAgICAgIHJ0ZV9lYWxfaW5pdF9hbGVydCgiSW52YWxpZCAnY29t bWFuZCBsaW5lJyBhcmd1bWVudHMuIik7DQo+ID4gICAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9 IEVJTlZBTDsNCj4gPiAtICAgICAgICAgICAgICAgcnRlX2F0b21pYzMyX2NsZWFyKCZydW5fb25j ZSk7DQo+ID4gKyAgICAgICAgICAgICAgIF9fYXRvbWljX3N0b3JlX24oJnJ1bl9vbmNlLCAwLCBf X0FUT01JQ19SRUxBWEVEKTsNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+ICAg ICAgICAgfQ0KPiA+DQo+ID4gQEAgLTcxNSwyMCArNzE3LDIwIEBAIHJ0ZV9lYWxfaW5pdChpbnQg YXJnYywgY2hhciAqKmFyZ3YpDQo+ID4gICAgICAgICBpZiAoZWFsX3BsdWdpbnNfaW5pdCgpIDwg MCkgew0KPiA+ICAgICAgICAgICAgICAgICBydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBpbml0 IHBsdWdpbnMiKTsNCj4gPiAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOw0KPiA+ IC0gICAgICAgICAgICAgICBydGVfYXRvbWljMzJfY2xlYXIoJnJ1bl9vbmNlKTsNCj4gPiArICAg ICAgICAgICAgICAgX19hdG9taWNfc3RvcmVfbigmcnVuX29uY2UsIDAsIF9fQVRPTUlDX1JFTEFY RUQpOw0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4gICAgICAgICB9DQo+ID4N Cj4gPiAgICAgICAgIGlmIChlYWxfdHJhY2VfaW5pdCgpIDwgMCkgew0KPiA+ICAgICAgICAgICAg ICAgICBydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBpbml0IHRyYWNlIik7DQo+ID4gICAgICAg ICAgICAgICAgIHJ0ZV9lcnJubyA9IEVGQVVMVDsNCj4gPiAtICAgICAgICAgICAgICAgcnRlX2F0 b21pYzMyX2NsZWFyKCZydW5fb25jZSk7DQo+ID4gKyAgICAgICAgICAgICAgIF9fYXRvbWljX3N0 b3JlX24oJnJ1bl9vbmNlLCAwLCBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiAgICAgICAgICAgICAg ICAgcmV0dXJuIC0xOw0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICBpZiAoZWFsX29w dGlvbl9kZXZpY2VfcGFyc2UoKSkgew0KPiA+ICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBF Tk9ERVY7DQo+ID4gLSAgICAgICAgICAgICAgIHJ0ZV9hdG9taWMzMl9jbGVhcigmcnVuX29uY2Up Ow0KPiA+ICsgICAgICAgICAgICAgICBfX2F0b21pY19zdG9yZV9uKCZydW5fb25jZSwgMCwgX19B VE9NSUNfUkVMQVhFRCk7DQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gPiAgICAg ICAgIH0NCj4gPg0KPiA+IEBAIC03NjIsNyArNzY0LDcgQEAgcnRlX2VhbF9pbml0KGludCBhcmdj LCBjaGFyICoqYXJndikNCj4gPiAgICAgICAgIGlmIChydGVfYnVzX3NjYW4oKSkgew0KPiA+ICAg ICAgICAgICAgICAgICBydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBzY2FuIHRoZSBidXNlcyBm b3IgZGV2aWNlcyIpOw0KPiA+ICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFTk9ERVY7DQo+ ID4gLSAgICAgICAgICAgICAgIHJ0ZV9hdG9taWMzMl9jbGVhcigmcnVuX29uY2UpOw0KPiA+ICsg ICAgICAgICAgICAgICBfX2F0b21pY19zdG9yZV9uKCZydW5fb25jZSwgMCwgX19BVE9NSUNfUkVM QVhFRCk7DQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gPiAgICAgICAgIH0NCj4g Pg0KPiA+IEBAIC03OTAsNyArNzkyLDcgQEAgcnRlX2VhbF9pbml0KGludCBhcmdjLCBjaGFyICoq YXJndikNCj4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCA8IDApIHsNCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICBydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBnZXQgaHVnZXBhZ2UgaW5m b3JtYXRpb24uIik7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUFD Q0VTOw0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9hdG9taWMzMl9jbGVhcigmcnVu X29uY2UpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fYXRvbWljX3N0b3JlX24oJnJ1 bl9vbmNlLCAwLCBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gLTE7DQo+ID4gICAgICAgICAgICAgICAgIH0NCj4gPiAgICAgICAgIH0NCj4gPiBk aWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsLmMgYi9saWIvbGlicnRlX2VhbC9s aW51eC9lYWwuYw0KPiA+IGluZGV4IDA5NjBmMDEuLjgyYTczZWQgMTAwNjQ0DQo+ID4gLS0tIGEv bGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsLmMNCj4gPiArKysgYi9saWIvbGlicnRlX2VhbC9saW51 eC9lYWwuYw0KPiA+IEBAIC05NjAsNyArOTYwLDggQEAgcnRlX2VhbF9pbml0KGludCBhcmdjLCBj aGFyICoqYXJndikNCj4gPiAgew0KPiA+ICAgICAgICAgaW50IGksIGZjdHJldCwgcmV0Ow0KPiA+ ICAgICAgICAgcHRocmVhZF90IHRocmVhZF9pZDsNCj4gPiAtICAgICAgIHN0YXRpYyBydGVfYXRv bWljMzJfdCBydW5fb25jZSA9IFJURV9BVE9NSUMzMl9JTklUKDApOw0KPiA+ICsgICAgICAgc3Rh dGljIHVpbnQzMl90IHJ1bl9vbmNlOw0KPiA+ICsgICAgICAgdWludDMyX3QgaGFzX3J1biA9IDA7 DQo+ID4gICAgICAgICBjb25zdCBjaGFyICpwOw0KPiA+ICAgICAgICAgc3RhdGljIGNoYXIgbG9n aWRbUEFUSF9NQVhdOw0KPiA+ICAgICAgICAgY2hhciBjcHVzZXRbUlRFX0NQVV9BRkZJTklUWV9T VFJfTEVOXTsNCj4gPiBAQCAtOTc3LDcgKzk3OCw4IEBAIHJ0ZV9lYWxfaW5pdChpbnQgYXJnYywg Y2hhciAqKmFyZ3YpDQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4gPiAgICAgICAg IH0NCj4gPg0KPiA+IC0gICAgICAgaWYgKCFydGVfYXRvbWljMzJfdGVzdF9hbmRfc2V0KCZydW5f b25jZSkpIHsNCj4gPiArICAgICAgIGlmICghX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9uKCZy dW5fb25jZSwgJmhhc19ydW4sIDEsIDAsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF9fQVRPTUlDX1JFTEFYRUQsIF9fQVRPTUlDX1JFTEFYRUQpKSB7DQo+ID4g ICAgICAgICAgICAgICAgIHJ0ZV9lYWxfaW5pdF9hbGVydCgiYWxyZWFkeSBjYWxsZWQgaW5pdGlh bGl6YXRpb24uIik7DQo+ID4gICAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVBTFJFQURZOw0K PiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4gQEAgLTEwMDUsMTQgKzEwMDcsMTQg QEAgcnRlX2VhbF9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikNCj4gPiAgICAgICAgIGlmIChm Y3RyZXQgPCAwKSB7DQo+ID4gICAgICAgICAgICAgICAgIHJ0ZV9lYWxfaW5pdF9hbGVydCgiSW52 YWxpZCAnY29tbWFuZCBsaW5lJyBhcmd1bWVudHMuIik7DQo+ID4gICAgICAgICAgICAgICAgIHJ0 ZV9lcnJubyA9IEVJTlZBTDsNCj4gPiAtICAgICAgICAgICAgICAgcnRlX2F0b21pYzMyX2NsZWFy KCZydW5fb25jZSk7DQo+ID4gKyAgICAgICAgICAgICAgIF9fYXRvbWljX3N0b3JlX24oJnJ1bl9v bmNlLCAwLCBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC0x Ow0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICBpZiAoZWFsX3BsdWdpbnNfaW5pdCgp IDwgMCkgew0KPiA+ICAgICAgICAgICAgICAgICBydGVfZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBp bml0IHBsdWdpbnMiKTsNCj4gPiAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOw0K PiA+IC0gICAgICAgICAgICAgICBydGVfYXRvbWljMzJfY2xlYXIoJnJ1bl9vbmNlKTsNCj4gPiAr ICAgICAgICAgICAgICAgX19hdG9taWNfc3RvcmVfbigmcnVuX29uY2UsIDAsIF9fQVRPTUlDX1JF TEFYRUQpOw0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4gICAgICAgICB9DQo+ ID4NCj4gPiBAQCAtMTAyNCw3ICsxMDI2LDcgQEAgcnRlX2VhbF9pbml0KGludCBhcmdjLCBjaGFy ICoqYXJndikNCj4gPg0KPiA+ICAgICAgICAgaWYgKGVhbF9vcHRpb25fZGV2aWNlX3BhcnNlKCkp IHsNCj4gPiAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRU5PREVWOw0KPiA+IC0gICAgICAg ICAgICAgICBydGVfYXRvbWljMzJfY2xlYXIoJnJ1bl9vbmNlKTsNCj4gPiArICAgICAgICAgICAg ICAgX19hdG9taWNfc3RvcmVfbigmcnVuX29uY2UsIDAsIF9fQVRPTUlDX1JFTEFYRUQpOw0KPiA+ ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiBAQCAt MTA2NCw3ICsxMDY2LDcgQEAgcnRlX2VhbF9pbml0KGludCBhcmdjLCBjaGFyICoqYXJndikNCj4g PiAgICAgICAgIGlmIChydGVfYnVzX3NjYW4oKSkgew0KPiA+ICAgICAgICAgICAgICAgICBydGVf ZWFsX2luaXRfYWxlcnQoIkNhbm5vdCBzY2FuIHRoZSBidXNlcyBmb3IgZGV2aWNlcyIpOw0KPiA+ ICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFTk9ERVY7DQo+ID4gLSAgICAgICAgICAgICAg IHJ0ZV9hdG9taWMzMl9jbGVhcigmcnVuX29uY2UpOw0KPiA+ICsgICAgICAgICAgICAgICBfX2F0 b21pY19zdG9yZV9uKCZydW5fb25jZSwgMCwgX19BVE9NSUNfUkVMQVhFRCk7DQo+ID4gICAgICAg ICAgICAgICAgIHJldHVybiAtMTsNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+IEBAIC0xMTM4LDcg KzExNDAsNyBAQCBydGVfZWFsX2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiA+ICAgICAg ICAgICAgICAgICBpZiAocmV0IDwgMCkgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJ0 ZV9lYWxfaW5pdF9hbGVydCgiQ2Fubm90IGdldCBodWdlcGFnZSBpbmZvcm1hdGlvbi4iKTsNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFQUNDRVM7DQo+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgcnRlX2F0b21pYzMyX2NsZWFyKCZydW5fb25jZSk7DQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgX19hdG9taWNfc3RvcmVfbigmcnVuX29uY2UsIDAsIF9fQVRP TUlDX1JFTEFYRUQpOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCj4g PiAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgfQ0KPiA+IEBAIC0xMTYyLDcgKzExNjQs NyBAQCBydGVfZWFsX2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiA+ICAgICAgICAgaWYg KHJ0ZV9lYWxfbG9nX2luaXQobG9naWQsIGludGVybmFsX2NvbmYtPnN5c2xvZ19mYWNpbGl0eSkg PCAwKSB7DQo+ID4gICAgICAgICAgICAgICAgIHJ0ZV9lYWxfaW5pdF9hbGVydCgiQ2Fubm90IGlu aXQgbG9nZ2luZy4iKTsNCj4gPiAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRU5PTUVNOw0K PiA+IC0gICAgICAgICAgICAgICBydGVfYXRvbWljMzJfY2xlYXIoJnJ1bl9vbmNlKTsNCj4gPiAr ICAgICAgICAgICAgICAgX19hdG9taWNfc3RvcmVfbigmcnVuX29uY2UsIDAsIF9fQVRPTUlDX1JF TEFYRUQpOw0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gLTE7DQo+ID4gICAgICAgICB9DQo+ ID4NCj4gPiBAQCAtMTE3MCw3ICsxMTcyLDcgQEAgcnRlX2VhbF9pbml0KGludCBhcmdjLCBjaGFy ICoqYXJndikNCj4gPiAgICAgICAgIGlmIChydGVfZWFsX3ZmaW9fc2V0dXAoKSA8IDApIHsNCj4g PiAgICAgICAgICAgICAgICAgcnRlX2VhbF9pbml0X2FsZXJ0KCJDYW5ub3QgaW5pdCBWRklPIik7 DQo+ID4gICAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVBR0FJTjsNCj4gPiAtICAgICAgICAg ICAgICAgcnRlX2F0b21pYzMyX2NsZWFyKCZydW5fb25jZSk7DQo+ID4gKyAgICAgICAgICAgICAg IF9fYXRvbWljX3N0b3JlX24oJnJ1bl9vbmNlLCAwLCBfX0FUT01JQ19SRUxBWEVEKTsNCj4gPiAg ICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+ICAgICAgICAgfQ0KPiA+ICAjZW5kaWYNCj4g PiAtLQ0KPiA+IDIuNy40DQo+ID4NCj4gDQo+IEkgc2VlIG5vIHJlYXNvbiB0byBpbmNsdWRlIHJ0 ZV9hdG9taWMuaCBpbiB0aG9zZSBmaWxlcyBhZnRlciB0aGlzIHBhdGNoLg0KPiBEaWQgSSBtaXNz IHNvbWV0aGluZz8NCg0KTm8sIGl0IGlzIG5vdCBuZWVkZWQgYW55bW9yZS4gDQpXaWxsIHJlbW92 ZSB0aGVtLg0KDQoNClRoYW5rcywNClBoaWwNCg0KPiANCj4gDQo+IC0tDQo+IERhdmlkIE1hcmNo YW5kDQoNCg==