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 853EEA0350; Thu, 25 Jun 2020 21:12:00 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 332FEE07; Thu, 25 Jun 2020 21:11:59 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70070.outbound.protection.outlook.com [40.107.7.70]) by dpdk.org (Postfix) with ESMTP id 35A57CF3 for ; Thu, 25 Jun 2020 21:11:57 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DmR83fF6AQnFHv5KoW9jitJDKmhlBP8kxbW5+8hFLaWMzsXtN5MOurf/YP31i5+VwX3D8DUmQUQ/g3lLFEaGYbDQjUulh0SPeSRJn32SwoM7R3O98uNtpL38kS1aIOvN1C6qHcxvm+MHpIBw746y0e8ret1g+MRz1EPLmdqVHCUT6Kq5s/1jrsZxOgBD8CuTjMl5I2jcph0Zgrz9+XKKOVE8CysFqNXjvMOL2RALdy/Lv0ChGyaoBEKe3BXv+E9Ws5aV16xbXzQS22P6rudVeH9WgqLjSl2kfkkaFFUUARBxUv1xOYuMOJ8W/Z8me+8GJH3TvdkPKcnpu/RV6LpoAA== 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=FPbOSItGNgIJ17ym1mjfDfH788rtbCBHaDTWAPqOb2o=; b=SgQyDEvvir5tQazQIWbCC9Y9aatvHaJXl5xs8Iy62LLcI76AA8L+FOobym3pyRUATTfFuyWOnih1mPrFE+aRxXGNVrseKISgIxrB29wN26x3URPih6f5w5mmR/xrgMixOtJ2vcla1XT4INtDEL7Dzgm1Dp7AhrUodvEilvNuHoEcRZUcKpgoReqvN6lsTDQdAqe4sZ+svliRZvhzvCDB6aqc4GUL2XdHgb5XAGjNF9nlYNHmgx+7kd8WkFtBS8UBqgiUIyLCnu6wWXRxDqSQWPHiOXM0pXqkPxdgjpNYVvS8TSA+LEKtIJ6DdHYRo3BmhED+7iEdVg5HDjwVLVIsNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FPbOSItGNgIJ17ym1mjfDfH788rtbCBHaDTWAPqOb2o=; b=NWC0ywcZOdBlZpz8mjav3a3+I41t+3ZAZmV4GN+OtA/dns5ngysa7Pq7ItvyGeY0H2tNP3PQ/nku0KCDHxjCC74XTP4iIBPxzVmZ6N69v0J6USMwDrsEl8IMjES8Jh+x+/IwhxHTOo/JvTe4xMbGjdORrOm2lTerKZVdS0zg5DQ= Received: from VI1PR05MB6128.eurprd05.prod.outlook.com (2603:10a6:803:ec::26) by VI1PR05MB3325.eurprd05.prod.outlook.com (2603:10a6:802:24::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.21; Thu, 25 Jun 2020 19:11:54 +0000 Received: from VI1PR05MB6128.eurprd05.prod.outlook.com ([fe80::e98d:c6c9:be41:86e1]) by VI1PR05MB6128.eurprd05.prod.outlook.com ([fe80::e98d:c6c9:be41:86e1%3]) with mapi id 15.20.3109.027; Thu, 25 Jun 2020 19:11:54 +0000 From: Tasnim Bashar To: Ranjit Menon , "dev@dpdk.org" CC: "harini.ramakrishnan@microsoft.com" , "pallavi.kadam@intel.com" , "ocardona@microsoft.com" , "navasile@linux.microsoft.com" , "dmitry.kozliuk@gmail.com" , Tal Shnaiderman , Fady Bader , Ophir Munk , Thomas Monjalon Thread-Topic: [PATCH v4] eal/windows: fix thread handle Thread-Index: AQHWSokCKUsQ8ALX506grxGg78FcH6jpsupg Date: Thu, 25 Jun 2020 19:11:54 +0000 Message-ID: References: <20200602020052.4540-1-tbashar@mellanox.com> <20200624231041.5304-1-tbashar@mellanox.com> <9bdf1ba4-01ee-63ff-34ba-5c46a571c33f@intel.com> In-Reply-To: <9bdf1ba4-01ee-63ff-34ba-5c46a571c33f@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [2601:600:8680:3880:4d8d:bd8:2141:b90a] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 2aefbf7f-19d8-4414-5a81-08d8193b9fc7 x-ms-traffictypediagnostic: VI1PR05MB3325: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 0445A82F82 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vO4gWPb+8y4EXq1H68PeP3Ive4YHb4X7tt4kd8xk53/JhW4knUh0s594gvFVXDRGzs2NxvU2Ov28F6XK77FsQvbJEeLSDeuUvwr6HrASVFG9UcZi1KuACOSfKhKWWE5pn/yfgR9LoZobgfh7X5BPyR0PF+hi22R+oOu+H750w0s4bofXfIKAlhNuxQV9cf89LJZk4mlHDmkfjeLGkT+nLFCN2zIKQmkUuqIYyZVhqOPKJvZHR4SAtXdE+yMUWWEn8TtFUq/wTooRxqJtMd8RyMO1Oz2Ks3kbeqLhTv/evQXytClMCPB2H1qKZEwTA9L4EWhbUw5SuC4eXHVpwZK6aw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB6128.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(136003)(39860400002)(346002)(396003)(376002)(7696005)(5660300002)(52536014)(66946007)(6506007)(55016002)(33656002)(66476007)(83380400001)(71200400001)(316002)(9686003)(76116006)(53546011)(8936002)(4326008)(2906002)(186003)(478600001)(66556008)(110136005)(86362001)(64756008)(54906003)(66446008)(45080400002)(8676002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 2py/rB4gqK9+SgADpoUwfocw92zZe50vQ1fMoNJhqcwbguSm95Vex6WBAuEqCdt8rCdsiIBuXw9TIs6OPYNwUvQEMmepfiPbQbNMgsGrduZld5IsEFmZmPsOeqnzRF+pbOGIRst9Blyc9EdY/r0+dvne815llZBxUU+KVz/TBn5bw5vKTFIRBD/WO2m2Y05MU+9LgFLyd9wfjRyWNa3WpoJ/+aN1o0clapZaypVLae8hbVvSct9QlHhC9J19+jGND+Kck8/+/o3pIZmLbhD0Xm/DMiQwDTfRJwhRSx772BP6JuItx1myI7Vu/nDXrOaXht555RjqUaIZH6C88gVoOT33w4aW5VqhmP1i4XNa86uH5zqDkWbxEuSDpre/FtR47qHoBbPSqFZGWYu060WBAhkmFwdyLPsx7bfmSSZwPzFJ/0PkalLTkRHiiORAwIQnOx0J+ek888tlVByShMkqhB1Qqxz3QKDsz66A8WbGmRJI2q0CL1utzISj84obrU3mzZW/TTaKzwUB+SKLUl1khHIVddAZ1jwacBBT7ov7wsc= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR05MB6128.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2aefbf7f-19d8-4414-5a81-08d8193b9fc7 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2020 19:11:54.5523 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CDUkuoY2gUyMGBK3i/Im6iJxEluDwtiU/XLdIiFHfhY9QVOmQq042inJcYYE5o4flwvcFWjZYpNAyPyukDUsgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB3325 Subject: Re: [dpdk-dev] [PATCH v4] eal/windows: fix thread handle 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" DQo+IEZyb206IFJhbmppdCBNZW5vbiA8cmFuaml0Lm1lbm9uQGludGVsLmNvbT4NCj4gU2VudDog V2VkbmVzZGF5LCBKdW5lIDI0LCAyMDIwIDU6MzkgUE0NCj4gVG86IFRhc25pbSBCYXNoYXIgPHRi YXNoYXJAbWVsbGFub3guY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBoYXJpbmkucmFtYWtyaXNo bmFuQG1pY3Jvc29mdC5jb207IHBhbGxhdmkua2FkYW1AaW50ZWwuY29tOw0KPiBvY2FyZG9uYUBt aWNyb3NvZnQuY29tOyBuYXZhc2lsZUBsaW51eC5taWNyb3NvZnQuY29tOw0KPiBkbWl0cnkua296 bGl1a0BnbWFpbC5jb207IFRhbCBTaG5haWRlcm1hbiA8dGFsc2huQG1lbGxhbm94LmNvbT47IEZh ZHkNCj4gQmFkZXIgPGZhZHlAbWVsbGFub3guY29tPjsgT3BoaXIgTXVuayA8b3BoaXJtdUBtZWxs YW5veC5jb20+OyBUaG9tYXMNCj4gTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggdjRdIGVhbC93aW5kb3dzOiBmaXggdGhyZWFkIGhhbmRsZQ0KPiAN Cj4gSGksIFRhc25pbS4uLg0KPiANCj4gT24gNi8yNC8yMDIwIDQ6MTAgUE0sIFRhc25pbSBCYXNo YXIgd3JvdGU6DQo+ID4gQ2FzdGluZyB0aHJlYWQgSUQgdG8gaGFuZGxlIGlzIG5vdCBhY2N1cmF0 ZSB3YXkgdG8gZ2V0IHRocmVhZCBoYW5kbGUuDQo+ID4gTmVlZCB0byB1c2UgT3BlblRocmVhZCBm dW5jdGlvbiB0byBnZXQgdGhyZWFkIGhhbmRsZSBmcm9tIHRocmVhZCBJRC4NCj4gPg0KPiA+IHB0 aHJlYWRfc2V0YWZmaW5pdHlfbnAgYW5kIHB0aHJlYWRfZ2V0YWZmaW5pdHlfbnAgZnVuY3Rpb25z IGZvcg0KPiA+IFdpbmRvd3MgYXJlIGFmZmVjdGVkIGJlY2F1c2Ugb2YgaXQuDQo+ID4NCj4gPiBT aWduZWQtb2ZmLWJ5OiBUYXNuaW0gQmFzaGFyIDx0YmFzaGFyQG1lbGxhbm94LmNvbT4NCj4gPiAt LS0NCj4gPiB2MzogV0EgdG8gcmVtb3ZlIHdhcm5pbmcoLVdtYXliZS11bmluaXRpYWxpemVkKQ0K PiA+IHY0OiBEaXJlY3RseSB1c2VkIGZ1bmN0aW9uIG5hbWUgaW5zdGVhZCBvZiAjZGVmaW5lDQo+ ID4gLS0tDQo+ID4gICBsaWIvbGlicnRlX2VhbC93aW5kb3dzL2luY2x1ZGUvcHRocmVhZC5oICAg ICB8IDg0ICsrKysrKysrKysrKysrKy0tLS0tDQo+ID4gICBsaWIvbGlicnRlX2VhbC93aW5kb3dz L2luY2x1ZGUvcnRlX3dpbmRvd3MuaCB8ICAxICsNCj4gPiAgIDIgZmlsZXMgY2hhbmdlZCwgNjcg aW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGli L2xpYnJ0ZV9lYWwvd2luZG93cy9pbmNsdWRlL3B0aHJlYWQuaA0KPiA+IGIvbGliL2xpYnJ0ZV9l YWwvd2luZG93cy9pbmNsdWRlL3B0aHJlYWQuaA0KPiA+IGluZGV4IGUyMjc0Y2Y0ZTkuLjI1NTNj MDg5MGEgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9lYWwvd2luZG93cy9pbmNsdWRlL3B0 aHJlYWQuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL3dpbmRvd3MvaW5jbHVkZS9wdGhyZWFk LmgNCj4gPiBAQCAtNiw2ICs2LDcgQEANCj4gPiAgICNkZWZpbmUgX1BUSFJFQURfSF8NCj4gPg0K PiA+ICAgI2luY2x1ZGUgPHN0ZGludC5oPg0KPiA+ICsjaW5jbHVkZSA8c2NoZWQuaD4NCj4gPg0K PiA+ICAgLyoqDQo+ID4gICAgKiBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCB0aGUg Y29tbW9uIGNvZGUgaW4NCj4gPiBlYWxfY29tbW9uX3Byb2MuYywgQEAgLTE2LDggKzE3LDggQEAN Cj4gPiAgIGV4dGVybiAiQyIgew0KPiA+ICAgI2VuZGlmDQo+ID4NCj4gPiAtI2luY2x1ZGUgPHdp bmRvd3MuaD4NCj4gPiAgICNpbmNsdWRlIDxydGVfY29tbW9uLmg+DQo+ID4gKyNpbmNsdWRlIDxy dGVfd2luZG93cy5oPg0KPiA+DQo+ID4gICAjZGVmaW5lIFBUSFJFQURfQkFSUklFUl9TRVJJQUxf VEhSRUFEIFRSVUUNCj4gPg0KPiA+IEBAIC00MCwzNyArNDEsODQgQEAgdHlwZWRlZiBTWU5DSFJP TklaQVRJT05fQkFSUklFUg0KPiBwdGhyZWFkX2JhcnJpZXJfdDsNCj4gPiAgIC8qIHB0aHJlYWQg ZnVuY3Rpb24gb3ZlcnJpZGVzICovDQo+ID4gICAjZGVmaW5lIHB0aHJlYWRfc2VsZigpIFwNCj4g PiAgIAkoKHB0aHJlYWRfdClHZXRDdXJyZW50VGhyZWFkSWQoKSkNCj4gPiAtI2RlZmluZSBwdGhy ZWFkX3NldGFmZmluaXR5X25wKHRocmVhZCwgc2l6ZSwgY3B1c2V0KSBcDQo+ID4gLQllYWxfc2V0 X3RocmVhZF9hZmZpbml0eV9tYXNrKHRocmVhZCwgKHVuc2lnbmVkIGxvbmcgKikgY3B1c2V0KQ0K PiA+IC0jZGVmaW5lIHB0aHJlYWRfZ2V0YWZmaW5pdHlfbnAodGhyZWFkLCBzaXplLCBjcHVzZXQp IFwNCj4gPiAtCWVhbF9nZXRfdGhyZWFkX2FmZmluaXR5X21hc2sodGhyZWFkLCAodW5zaWduZWQg bG9uZyAqKSBjcHVzZXQpDQo+ID4gLSNkZWZpbmUgcHRocmVhZF9jcmVhdGUodGhyZWFkaWQsIHRo cmVhZGF0dHIsIHRocmVhZGZ1bmMsIGFyZ3MpIFwNCj4gPiAtCWVhbF9jcmVhdGVfdGhyZWFkKHRo cmVhZGlkLCB0aHJlYWRhdHRyLCB0aHJlYWRmdW5jLCBhcmdzKQ0KPiA+DQo+ID4gICBzdGF0aWMg aW5saW5lIGludA0KPiA+IC1lYWxfc2V0X3RocmVhZF9hZmZpbml0eV9tYXNrKHB0aHJlYWRfdCB0 aHJlYWRpZCwgdW5zaWduZWQgbG9uZw0KPiA+ICpjcHVzZXQpDQo+ID4gK3B0aHJlYWRfc2V0YWZm aW5pdHlfbnAocHRocmVhZF90IHRocmVhZGlkLCBzaXplX3QgY3B1c2V0X3NpemUsDQo+ID4gKwkJ CXJ0ZV9jcHVzZXRfdCAqY3B1c2V0KQ0KPiA+ICAgew0KPiA+IC0JU2V0VGhyZWFkQWZmaW5pdHlN YXNrKChIQU5ETEUpIHRocmVhZGlkLCAqY3B1c2V0KTsNCj4gPiAtCXJldHVybiAwOw0KPiA+ICsJ RFdPUkRfUFRSIHJldDsNCj4gPiArCUhBTkRMRSB0aHJlYWRfaGFuZGxlOw0KPiA+ICsNCj4gPiAr CWlmIChjcHVzZXQgPT0gTlVMTCB8fCBjcHVzZXRfc2l6ZSA9PSAwKQ0KPiA+ICsJCXJldHVybiAt MTsNCj4gPiArDQo+ID4gKwl0aHJlYWRfaGFuZGxlID0gT3BlblRocmVhZChUSFJFQURfQUxMX0FD Q0VTUywgRkFMU0UsIHRocmVhZGlkKTsNCj4gPiArCWlmICh0aHJlYWRfaGFuZGxlID09IE5VTEwp IHsNCj4gPiArCQlSVEVfTE9HX1dJTjMyX0VSUigiT3BlblRocmVhZCgpIik7DQo+ID4gKwkJcmV0 dXJuIC0xOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldCA9IFNldFRocmVhZEFmZmluaXR5TWFz ayh0aHJlYWRfaGFuZGxlLCAqY3B1c2V0LT5fYml0cyk7DQo+ID4gKwlpZiAocmV0ID09IDApIHsN Cj4gPiArCQlSVEVfTE9HX1dJTjMyX0VSUigiU2V0VGhyZWFkQWZmaW5pdHlNYXNrKCkiKTsNCj4g PiArCQlnb3RvIGNsb3NlX2hhbmRsZTsNCj4gPiArCX0NCj4gPiArDQo+ID4gK2Nsb3NlX2hhbmRs ZToNCj4gPiArCWlmIChDbG9zZUhhbmRsZSh0aHJlYWRfaGFuZGxlKSA9PSAwKSB7DQo+ID4gKwkJ UlRFX0xPR19XSU4zMl9FUlIoIkNsb3NlSGFuZGxlKCkiKTsNCj4gPiArCQlyZXR1cm4gLTE7DQo+ ID4gKwl9DQo+ID4gKwlyZXR1cm4gKHJldCA9PSAwKSA/IC0xIDogMDsNCj4gPiAgIH0NCj4gPg0K PiA+ICAgc3RhdGljIGlubGluZSBpbnQNCj4gPiAtZWFsX2dldF90aHJlYWRfYWZmaW5pdHlfbWFz ayhwdGhyZWFkX3QgdGhyZWFkaWQsIHVuc2lnbmVkIGxvbmcNCj4gPiAqY3B1c2V0KQ0KPiA+ICtw dGhyZWFkX2dldGFmZmluaXR5X25wKHB0aHJlYWRfdCB0aHJlYWRpZCwgc2l6ZV90IGNwdXNldF9z aXplLA0KPiA+ICsJCQlydGVfY3B1c2V0X3QgKmNwdXNldCkNCj4gPiAgIHsNCj4gPiAgIAkvKiBX b3JrYXJvdW5kIGZvciB0aGUgbGFjayBvZiBhIEdldFRocmVhZEFmZmluaXR5TWFzaygpDQo+ID4g ICAJICpBUEkgaW4gV2luZG93cw0KPiA+ICAgCSAqLw0KPiA+IC0JCS8qIG9idGFpbiBwcmV2aW91 cyBtYXNrIGJ5IHNldHRpbmcgZHVtbXkgbWFzayAqLw0KPiA+IC0JRFdPUkQgZHdwcmV2YWZmaW5p dHltYXNrID0NCj4gPiAtCQlTZXRUaHJlYWRBZmZpbml0eU1hc2soKEhBTkRMRSkgdGhyZWFkaWQs IDB4MSk7DQo+ID4gKwlEV09SRF9QVFIgcHJldl9hZmZpbml0eV9tYXNrOw0KPiA+ICsJSEFORExF IHRocmVhZF9oYW5kbGU7DQo+ID4gKwlEV09SRF9QVFIgcmV0Ow0KPiBJbml0aWFsaXplIHJldCB0 byAwIGhlcmUsIG90aGVyd2lzZS4uLiAoc2VlIGJlbG93KQ0KPiA+ICsNCj4gPiArCWlmIChjcHVz ZXQgPT0gTlVMTCB8fCBjcHVzZXRfc2l6ZSA9PSAwKQ0KPiA+ICsJCXJldHVybiAtMTsNCj4gPiAr DQo+ID4gKwl0aHJlYWRfaGFuZGxlID0gT3BlblRocmVhZChUSFJFQURfQUxMX0FDQ0VTUywgRkFM U0UsIHRocmVhZGlkKTsNCj4gPiArCWlmICh0aHJlYWRfaGFuZGxlID09IE5VTEwpIHsNCj4gPiAr CQlSVEVfTE9HX1dJTjMyX0VSUigiT3BlblRocmVhZCgpIik7DQo+ID4gKwkJcmV0dXJuIC0xOw0K PiA+ICsJfQ0KPiA+ICsNCj4gPiArCS8qIG9idGFpbiBwcmV2aW91cyBtYXNrIGJ5IHNldHRpbmcg ZHVtbXkgbWFzayAqLw0KPiA+ICsJcHJldl9hZmZpbml0eV9tYXNrID0gU2V0VGhyZWFkQWZmaW5p dHlNYXNrKHRocmVhZF9oYW5kbGUsIDB4MSk7DQo+ID4gKwlpZiAocHJldl9hZmZpbml0eV9tYXNr ID09IDApIHsNCj4gPiArCQlSVEVfTE9HX1dJTjMyX0VSUigiU2V0VGhyZWFkQWZmaW5pdHlNYXNr KCkiKTsNCj4gPiArCQlnb3RvIGNsb3NlX2hhbmRsZTsNCj4gLi4uYWZ0ZXIgdGhpcyBqdW1wLCBy ZXQgaXMgdW5pbml0aWFsaXplZCBhbmQgd2lsbCBwcm9kdWNlIHJhbmRvbSByZXN1bHRzIGF0IHRo ZSBjaGVjaw0KPiBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbi4NCg0KR29vZCBvYnNlcnZhdGlv biBSYW5qaXQuIEkgd2lsbCBzZW5kIG5ldyBwYXRjaCB3aXRoIHRoZSBmaXguDQo+ID4gKwl9DQo+ ID4gKw0KPiA+ICAgCS8qIHNldCBpdCBiYWNrISAqLw0KPiA+IC0JU2V0VGhyZWFkQWZmaW5pdHlN YXNrKChIQU5ETEUpIHRocmVhZGlkLCBkd3ByZXZhZmZpbml0eW1hc2spOw0KPiA+IC0JKmNwdXNl dCA9IGR3cHJldmFmZmluaXR5bWFzazsNCj4gPiAtCXJldHVybiAwOw0KPiA+ICsJcmV0ID0gU2V0 VGhyZWFkQWZmaW5pdHlNYXNrKHRocmVhZF9oYW5kbGUsIHByZXZfYWZmaW5pdHlfbWFzayk7DQo+ ID4gKwlpZiAocmV0ID09IDApIHsNCj4gPiArCQlSVEVfTE9HX1dJTjMyX0VSUigiU2V0VGhyZWFk QWZmaW5pdHlNYXNrKCkiKTsNCj4gPiArCQlnb3RvIGNsb3NlX2hhbmRsZTsNCj4gPiArCX0NCj4g PiArDQo+ID4gKwltZW1zZXQoY3B1c2V0LCAwLCBjcHVzZXRfc2l6ZSk7DQo+ID4gKwkqY3B1c2V0 LT5fYml0cyA9IHByZXZfYWZmaW5pdHlfbWFzazsNCj4gPiArDQo+ID4gK2Nsb3NlX2hhbmRsZToN Cj4gPiArCWlmIChDbG9zZUhhbmRsZSh0aHJlYWRfaGFuZGxlKSA9PSAwKSB7DQo+ID4gKwkJUlRF X0xPR19XSU4zMl9FUlIoIlNldFRocmVhZEFmZmluaXR5TWFzaygpIik7DQo+ID4gKwkJcmV0dXJu IC0xOw0KPiA+ICsJfQ0KPiA+ICsJcmV0dXJuIChyZXQgPT0gMCkgPyAtMSA6IDA7DQo+ID4gICB9 DQo+ID4NCj4gPiAgIHN0YXRpYyBpbmxpbmUgaW50DQo+ID4gLWVhbF9jcmVhdGVfdGhyZWFkKHZv aWQgKnRocmVhZGlkLCBjb25zdCB2b2lkICp0aHJlYWRhdHRyLCB2b2lkDQo+ID4gKnRocmVhZGZ1 bmMsDQo+ID4gK3B0aHJlYWRfY3JlYXRlKHZvaWQgKnRocmVhZGlkLCBjb25zdCB2b2lkICp0aHJl YWRhdHRyLCB2b2lkDQo+ID4gKyp0aHJlYWRmdW5jLA0KPiA+ICAgCQl2b2lkICphcmdzKQ0KPiA+ ICAgew0KPiA+ICAgCVJURV9TRVRfVVNFRCh0aHJlYWRhdHRyKTsNCj4gPiBkaWZmIC0tZ2l0IGEv bGliL2xpYnJ0ZV9lYWwvd2luZG93cy9pbmNsdWRlL3J0ZV93aW5kb3dzLmgNCj4gPiBiL2xpYi9s aWJydGVfZWFsL3dpbmRvd3MvaW5jbHVkZS9ydGVfd2luZG93cy5oDQo+ID4gaW5kZXggODk5ZWQ3 ZDg3NC4uZDAxM2I1MDI0MSAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2VhbC93aW5kb3dz L2luY2x1ZGUvcnRlX3dpbmRvd3MuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL3dpbmRvd3Mv aW5jbHVkZS9ydGVfd2luZG93cy5oDQo+ID4gQEAgLTMxLDYgKzMxLDcgQEANCj4gPiAgICNkZWZp bmUgSU5JVEdVSUQNCj4gPiAgICNlbmRpZg0KPiA+ICAgI2luY2x1ZGUgPGluaXRndWlkLmg+DQo+ ID4gKyNpbmNsdWRlIDxydGVfbG9nLmg+DQo+ID4NCj4gPiAgIC8qKg0KPiA+ICAgICogTG9nIEdl dExhc3RFcnJvcigpIHdpdGggY29udGV4dCwgdXN1YWxseSBhIFdpbjMyIEFQSSBmdW5jdGlvbiBh bmQNCj4gYXJndW1lbnRzLg0KPiANCj4gDQo+IHJhbmppdCBtLg0KDQo=