From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-05.nifty.com (conssluserg-05.nifty.com [210.131.2.90]) by sourceware.org (Postfix) with ESMTPS id 9535E3858C39 for ; Thu, 16 Sep 2021 13:02:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9535E3858C39 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=nifty.ne.jp Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=nifty.ne.jp Received: from Express5800-S70 (z221123.dynamic.ppp.asahi-net.or.jp [110.4.221.123]) (authenticated) by conssluserg-05.nifty.com with ESMTP id 18GD20B2005996 for ; Thu, 16 Sep 2021 22:02:01 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-05.nifty.com 18GD20B2005996 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.ne.jp; s=dec2015msa; t=1631797321; bh=MPcNlqXzG1e5UAt4r1RJAx1KLuuArxJAoZ1flh6hlRc=; h=Date:From:To:Subject:In-Reply-To:References:From; b=asEZ4POvR7AFiWRmQCNdqCNsnC8oOgAwfjhQNIGRkcSw2LM1LCgD7qqooKHudTf9B NKd99WUYgLEJjVFZpQs5/GtTozuOQ3Qv+/MLTca7OKKZjLCOQq4z+ujOIeMtBRf/Jd uk7DcUaO1IktQ4o3OtDgK+9G6xcWmi8b5TKtEi7suIglTkW067qpEgHwkCSpW+je5C 9l0Nf3xCR89npFiCfcwOZAhThW2izt1bQ/TqyITdNXR0F1cFZatQar8JU7+G0ovoxP n8vxI48uaeMRPh844qN+ls9CSs2Z8VFWWQ59QflUwYpndGBzugkVC2jUMjTsEatdyv QqLIVvkYJ4H4Q== X-Nifty-SrcIP: [110.4.221.123] Date: Thu, 16 Sep 2021 22:02:01 +0900 From: Takashi Yano To: cygwin-developers@cygwin.com Subject: Re: cygrunsrv + sshd + rsync = 20 times too slow -- throttled? Message-Id: <20210916220201.63924a67f337ea876954d7c0@nifty.ne.jp> In-Reply-To: <20210916180905.5f857dad0568be96ac36cba5@nifty.ne.jp> References: <20210915092100.796985ae33039f3184483450@nifty.ne.jp> <20210915094454.42ef1d085d9bf92a1af8d39a@nifty.ne.jp> <20210915095911.415d174ea38fb2d2ea8e5432@nifty.ne.jp> <20210915194858.845bcd54c0c63246b40703a8@nifty.ne.jp> <20210915205433.014102a9c1204687135e1417@nifty.ne.jp> <20210915220450.a96397d8b8159d9adfbdab07@nifty.ne.jp> <3ca95472-9fb2-3e62-3e28-1bd2f85bc018@cornell.edu> <99e3ac84-bee1-4abd-de9a-4ea2e7b62b61@cornell.edu> <20210916180905.5f857dad0568be96ac36cba5@nifty.ne.jp> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Thu__16_Sep_2021_22_02_01_+0900_005CjKV._TsjNmGw" X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Sep 2021 13:02:37 -0000 This is a multi-part message in MIME format. --Multipart=_Thu__16_Sep_2021_22_02_01_+0900_005CjKV._TsjNmGw Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Thu, 16 Sep 2021 18:09:05 +0900 Takashi Yano wrote: > I encountered a problem with current git head. > > To reproduce the problem: > 1) Make the CPU hight load state (100% load for all cores). > 2) Run '/bin/echo AAAAAAAAAAA 2>&1 |cat' several times. > Sometimes, no output is shown. > > This seems to be a race issue between multiple pipe writers. > Now I am investigating the problem. I would like to propose three additional patches, two are for the issue above (0001 and 0003), and the other one (0002) fixes the error handling. Please have a look at patches attached. -- Takashi Yano --Multipart=_Thu__16_Sep_2021_22_02_01_+0900_005CjKV._TsjNmGw Content-Type: application/octet-stream; name="0001-Cygwin-close_all_files-Do-not-duplicate-stderr-for-w.patch" Content-Disposition: attachment; filename="0001-Cygwin-close_all_files-Do-not-duplicate-stderr-for-w.patch" Content-Transfer-Encoding: base64 RnJvbSBhNTdhZDNlNzdhNWI0NzYwZmMxNjE0MDZjNDExY2Q5ZDUwODRjMzlhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q cD4KRGF0ZTogVGh1LCAxNiBTZXAgMjAyMSAyMDo1MDo1NCArMDkwMApTdWJqZWN0OiBbUEFUQ0gg MS8zXSBDeWd3aW46IGNsb3NlX2FsbF9maWxlczogRG8gbm90IGR1cGxpY2F0ZSBzdGRlcnIgZm9y CiB3cml0ZSBwaXBlLgoKLSBDdXJyZW50bHksIHRoZSBzdGRlcnIgaGFuZGxlIGlzIGR1cGxpY2F0 ZWQgaW4gY2xvc2VfYWxsX2ZpbGVzKCkuCiAgVGhpcyBpbnRlcmZlcmVzIHRoZSBoYW5kbGUgY291 bnRpbmcgZm9yIGRldGVjdGluZyBjbG9zdXJlIG9mIHJlYWQKICBwaXBlLCB3aGljaCBpcyBpbnRy b2R1Y2VkIGJ5IGNvbW1pdCBmNzlhNDYxMS4gVGhpcyBwYXRjaCBzdG9wcwogIGR1cGxpY2F0aW5n IHN0ZGVyciBoYW5kbGUgaWYgaXQgaXMgd3JpdGUgcGlwZS4KLS0tCiB3aW5zdXAvY3lnd2luL3N5 c2NhbGxzLmNjIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvd2luc3VwL2N5Z3dpbi9zeXNjYWxscy5jYyBiL3dpbnN1cC9j eWd3aW4vc3lzY2FsbHMuY2MKaW5kZXggMTFhZjA3OWNiLi5hM2ZmZTM1MzIgMTAwNjQ0Ci0tLSBh L3dpbnN1cC9jeWd3aW4vc3lzY2FsbHMuY2MKKysrIGIvd2luc3VwL2N5Z3dpbi9zeXNjYWxscy5j YwpAQCAtOTUsNyArOTUsNyBAQCBjbG9zZV9hbGxfZmlsZXMgKGJvb2wgbm9yZWxlYXNlKQogICAg ICAgaWYgKGNmZCA+PSAwKQogCXsKIAkgIGRlYnVnX29ubHlfcHJpbnRmICgiY2xvc2luZyBmZCAl ZCIsIGkpOwotCSAgaWYgKGkgPT0gMikKKwkgIGlmIChpID09IDIgJiYgY2ZkLT5nZXRfZGV2ICgp ICE9IEZIX1BJUEVXKQogCSAgICBEdXBsaWNhdGVIYW5kbGUgKEdldEN1cnJlbnRQcm9jZXNzICgp LCBjZmQtPmdldF9vdXRwdXRfaGFuZGxlICgpLAogCQkJICAgICBHZXRDdXJyZW50UHJvY2VzcyAo KSwgJmgsCiAJCQkgICAgIDAsIGZhbHNlLCBEVVBMSUNBVEVfU0FNRV9BQ0NFU1MpOwotLSAKMi4z My4wCgo= --Multipart=_Thu__16_Sep_2021_22_02_01_+0900_005CjKV._TsjNmGw Content-Type: application/octet-stream; name="0002-Cygwin-pipe-Fix-error-handling-in-fhandler_pip-creat.patch" Content-Disposition: attachment; filename="0002-Cygwin-pipe-Fix-error-handling-in-fhandler_pip-creat.patch" Content-Transfer-Encoding: base64 RnJvbSBjOTY3NDkzNzk5ZmUyNjFjNmJjMGQzZDM2YTU2NjQ3NjNlYzI5ZjMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q cD4KRGF0ZTogVGh1LCAxNiBTZXAgMjAyMSAyMToyNzoyNCArMDkwMApTdWJqZWN0OiBbUEFUQ0gg Mi8zXSBDeWd3aW46IHBpcGU6IEZpeCBlcnJvciBoYW5kbGluZyBpbgogZmhhbmRsZXJfcGlwOjpj cmVhdGUoKS4KCi0gQ3VycmVudGx5LCBlcnJvciBoYW5kbGluZyBpbiBmaGFuZGxlcl9waXBlOjpj cmVhdGUoKSBpcyBicm9rZW4uCiAgVGhpcyBwYXRjaCBmaXhlcyB0aGF0LgotLS0KIHdpbnN1cC9j eWd3aW4vZmhhbmRsZXJfcGlwZS5jYyB8IDQzICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX3BpcGUuY2MgYi93aW5zdXAvY3ln d2luL2ZoYW5kbGVyX3BpcGUuY2MKaW5kZXggYzJmNDM1M2Y2Li5mZDJhYjg3YWYgMTAwNjQ0Ci0t LSBhL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5jYworKysgYi93aW5zdXAvY3lnd2luL2Zo YW5kbGVyX3BpcGUuY2MKQEAgLTgzMSwzMiArODMxLDUxIEBAIGZoYW5kbGVyX3BpcGU6OmNyZWF0 ZSAoZmhhbmRsZXJfcGlwZSAqZmhzWzJdLCB1bnNpZ25lZCBwc2l6ZSwgaW50IG1vZGUpCiAJICBO dENsb3NlIChyKTsKIAkgIGRlbGV0ZSBmaHNbMV07CiAJICBOdENsb3NlICh3KTsKKwkgIGdvdG8g b3V0OwogCX0KLSAgICAgIGVsc2UKKyAgICAgIGZoc1swXS0+c2V0X3JlYWRfbXV0ZXggKG10eCk7 CisKKyAgICAgIGZoc1swXS0+c2VsZWN0X3NlbSA9IENyZWF0ZVNlbWFwaG9yZSAoc2EsIDAsIElO VDMyX01BWCwgTlVMTCk7CisgICAgICBpZiAoIWZoc1swXS0+c2VsZWN0X3NlbSkKIAl7Ci0JICBm aHNbMF0tPnNldF9yZWFkX211dGV4IChtdHgpOwotCSAgcmVzID0gMDsKKwkgIENsb3NlSGFuZGxl IChmaHNbMF0tPnJlYWRfbXR4KTsKKwkgIGRlbGV0ZSBmaHNbMF07CisJICBOdENsb3NlIChyKTsK KwkgIGRlbGV0ZSBmaHNbMV07CisJICBOdENsb3NlICh3KTsKKwkgIGdvdG8gb3V0OwogCX0KLSAg ICAgIGZoc1swXS0+c2VsZWN0X3NlbSA9IENyZWF0ZVNlbWFwaG9yZSAoc2EsIDAsIElOVDMyX01B WCwgTlVMTCk7Ci0gICAgICBpZiAoZmhzWzBdLT5zZWxlY3Rfc2VtKQotCUR1cGxpY2F0ZUhhbmRs ZSAoR2V0Q3VycmVudFByb2Nlc3MgKCksIGZoc1swXS0+c2VsZWN0X3NlbSwKLQkJCSBHZXRDdXJy ZW50UHJvY2VzcyAoKSwgJmZoc1sxXS0+c2VsZWN0X3NlbSwKLQkJCSAwLCBzYS0+YkluaGVyaXRI YW5kbGUsIERVUExJQ0FURV9TQU1FX0FDQ0VTUyk7CisgICAgICBpZiAoIUR1cGxpY2F0ZUhhbmRs ZSAoR2V0Q3VycmVudFByb2Nlc3MgKCksIGZoc1swXS0+c2VsZWN0X3NlbSwKKwkJCSAgICBHZXRD dXJyZW50UHJvY2VzcyAoKSwgJmZoc1sxXS0+c2VsZWN0X3NlbSwKKwkJCSAgICAwLCBzYS0+Yklu aGVyaXRIYW5kbGUsIERVUExJQ0FURV9TQU1FX0FDQ0VTUykpCisJeworCSAgQ2xvc2VIYW5kbGUg KGZoc1swXS0+cmVhZF9tdHgpOworCSAgQ2xvc2VIYW5kbGUgKGZoc1swXS0+c2VsZWN0X3NlbSk7 CisJICBkZWxldGUgZmhzWzBdOworCSAgTnRDbG9zZSAocik7CisJICBkZWxldGUgZmhzWzFdOwor CSAgTnRDbG9zZSAodyk7CisJICBnb3RvIG91dDsKKwl9CisKICAgICAgIGlmICghRHVwbGljYXRl SGFuZGxlIChHZXRDdXJyZW50UHJvY2VzcyAoKSwgciwKIAkJCSAgICBHZXRDdXJyZW50UHJvY2Vz cyAoKSwgJmZoc1sxXS0+cXVlcnlfaGRsLAogCQkJICAgIEZJTEVfUkVBRF9EQVRBLCBzYS0+Yklu aGVyaXRIYW5kbGUsIDApKQogCXsKKwkgIENsb3NlSGFuZGxlIChmaHNbMF0tPnJlYWRfbXR4KTsK IAkgIENsb3NlSGFuZGxlIChmaHNbMF0tPnNlbGVjdF9zZW0pOwogCSAgZGVsZXRlIGZoc1swXTsK LQkgIENsb3NlSGFuZGxlIChyKTsKKwkgIE50Q2xvc2UgKHIpOwogCSAgQ2xvc2VIYW5kbGUgKGZo c1sxXS0+c2VsZWN0X3NlbSk7CiAJICBkZWxldGUgZmhzWzFdOwotCSAgQ2xvc2VIYW5kbGUgKHcp OworCSAgTnRDbG9zZSAodyk7CisJICBnb3RvIG91dDsKIAl9Ci0gICAgICBlbHNlCi0JcmVzID0g MDsKKworICAgICAgcmVzID0gMDsKICAgICB9CiAKK291dDoKICAgZGVidWdfcHJpbnRmICgiJVIg PSBwaXBlKFslcCwgJXBdLCAlZCwgJXkpIiwgcmVzLCBmaHNbMF0sIGZoc1sxXSwgcHNpemUsIG1v ZGUpOwogICByZXR1cm4gcmVzOwogfQotLSAKMi4zMy4wCgo= --Multipart=_Thu__16_Sep_2021_22_02_01_+0900_005CjKV._TsjNmGw Content-Type: application/octet-stream; name="0003-Cygwin-pipe-Fix-race-issue-regarding-handle-count.patch" Content-Disposition: attachment; filename="0003-Cygwin-pipe-Fix-race-issue-regarding-handle-count.patch" Content-Transfer-Encoding: base64 RnJvbSA4YzIxZjQzYjE4MWFhMjRkZDRkZGU5MWQ2ZDNmNDVmM2Y4NmY0ZDgxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q cD4KRGF0ZTogVGh1LCAxNiBTZXAgMjAyMSAyMTo0NDowOSArMDkwMApTdWJqZWN0OiBbUEFUQ0gg My8zXSBDeWd3aW46IHBpcGU6IEZpeCByYWNlIGlzc3VlIHJlZ2FyZGluZyBoYW5kbGUgY291bnQu CgotIFRoaXMgcGF0Y2ggZml4ZXMgdGhlIHJhY2UgaXNzdWUgaW4gdGhlIGhhbmRsZSBjb3VudGlu ZyB0byBkZXRlY3QKICBjbG9zdXJlIG9mIHJlYWQgcGlwZSwgd2hpY2ggaXMgaW50cm9kdWNlZCBi eSBjb21taXQgZjc5YTQ2MTEuCiAgQSBtdXRleCBoZGxfY250X210eCBpcyBpbnRyb2R1Y2VkIGZv ciB0aGlzIGlzc3VlLgotLS0KIHdpbnN1cC9jeWd3aW4vZmhhbmRsZXIuaCAgICAgICB8ICAxICsK IHdpbnN1cC9jeWd3aW4vZmhhbmRsZXJfcGlwZS5jYyB8IDc0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyLmggYi93aW5zdXAv Y3lnd2luL2ZoYW5kbGVyLmgKaW5kZXggOTE5NjU1MDEyLi5lMGEyZGVlMDkgMTAwNjQ0Ci0tLSBh L3dpbnN1cC9jeWd3aW4vZmhhbmRsZXIuaAorKysgYi93aW5zdXAvY3lnd2luL2ZoYW5kbGVyLmgK QEAgLTExNzYsNiArMTE3Niw3IEBAIGNsYXNzIGZoYW5kbGVyX3BpcGVfZmlmbzogcHVibGljIGZo YW5kbGVyX2Jhc2UKICBwcm90ZWN0ZWQ6CiAgIHNpemVfdCBwaXBlX2J1Zl9zaXplOwogICBIQU5E TEUgcXVlcnlfaGRsOworICBIQU5ETEUgaGRsX2NudF9tdHg7CiAgIHZpcnR1YWwgdm9pZCByZWxl YXNlX3NlbGVjdF9zZW0gKGNvbnN0IGNoYXIgKikge307CiAKICBwdWJsaWM6CmRpZmYgLS1naXQg YS93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX3BpcGUuY2MgYi93aW5zdXAvY3lnd2luL2ZoYW5kbGVy X3BpcGUuY2MKaW5kZXggZmQyYWI4N2FmLi43ZWVkYzAxMGMgMTAwNjQ0Ci0tLSBhL3dpbnN1cC9j eWd3aW4vZmhhbmRsZXJfcGlwZS5jYworKysgYi93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX3BpcGUu Y2MKQEAgLTIwMCw3ICsyMDAsMTQgQEAgZmhhbmRsZXJfcGlwZTo6b3Blbl9zZXR1cCAoaW50IGZs YWdzKQogICAgICAgU0VDVVJJVFlfQVRUUklCVVRFUyAqc2EgPSBzZWNfbm9uZV9jbG9leGVjIChm bGFncyk7CiAgICAgICByZWFkX210eCA9IENyZWF0ZU11dGV4IChzYSwgRkFMU0UsIE5VTEwpOwog ICAgICAgaWYgKCFyZWFkX210eCkKLQlkZWJ1Z19wcmludGYgKCJDcmVhdGVNdXRleCBmYWlsZWQ6 ICVFIik7CisJZGVidWdfcHJpbnRmICgiQ3JlYXRlTXV0ZXggcmVhZF9tdHggZmFpbGVkOiAlRSIp OworICAgIH0KKyAgaWYgKCFoZGxfY250X210eCkKKyAgICB7CisgICAgICBTRUNVUklUWV9BVFRS SUJVVEVTICpzYSA9IHNlY19ub25lX2Nsb2V4ZWMgKGZsYWdzKTsKKyAgICAgIGhkbF9jbnRfbXR4 ID0gQ3JlYXRlTXV0ZXggKHNhLCBGQUxTRSwgTlVMTCk7CisgICAgICBpZiAoIWhkbF9jbnRfbXR4 KQorCWRlYnVnX3ByaW50ZiAoIkNyZWF0ZU11dGV4IGhkbF9jbnRfbXR4IGZhaWxlZDogJUUiKTsK ICAgICB9CiAgIGlmIChnZXRfZGV2ICgpID09IEZIX1BJUEVXICYmICFxdWVyeV9oZGwpCiAgICAg c2V0X3BpcGVfbm9uX2Jsb2NraW5nIChpc19ub25ibG9ja2luZyAoKSk7CkBAIC0zOTAsOCArMzk3 LDEwIEBAIGZoYW5kbGVyX3BpcGVfZmlmbzo6cmVhZGVyX2Nsb3NlZCAoKQogewogICBpZiAoIXF1 ZXJ5X2hkbCkKICAgICByZXR1cm4gZmFsc2U7CisgIGN5Z3dhaXQgKGhkbF9jbnRfbXR4KTsKICAg aW50IG5fcmVhZGVyID0gZ2V0X29ial9oYW5kbGVfY291bnQgKHF1ZXJ5X2hkbCk7CiAgIGludCBu X3dyaXRlciA9IGdldF9vYmpfaGFuZGxlX2NvdW50IChnZXRfaGFuZGxlICgpKTsKKyAgUmVsZWFz ZU11dGV4IChoZGxfY250X210eCk7CiAgIHJldHVybiBuX3JlYWRlciA9PSBuX3dyaXRlcjsKIH0K IApAQCAtNTU0LDExICs1NjMsMTggQEAgZmhhbmRsZXJfcGlwZTo6c2V0X2Nsb3NlX29uX2V4ZWMg KGJvb2wgdmFsKQogICAgIHNldF9ub19pbmhlcml0YW5jZSAoc2VsZWN0X3NlbSwgdmFsKTsKICAg aWYgKHF1ZXJ5X2hkbCkKICAgICBzZXRfbm9faW5oZXJpdGFuY2UgKHF1ZXJ5X2hkbCwgdmFsKTsK KyAgaWYgKGhkbF9jbnRfbXR4KQorICAgIHNldF9ub19pbmhlcml0YW5jZSAoaGRsX2NudF9tdHgs IHZhbCk7CiB9CiAKIHZvaWQKIGZoYW5kbGVyX3BpcGU6OmZpeHVwX2FmdGVyX2ZvcmsgKEhBTkRM RSBwYXJlbnQpCiB7CisgIGlmIChoZGxfY250X210eCkKKyAgICB7CisgICAgICBmb3JrX2ZpeHVw IChwYXJlbnQsIGhkbF9jbnRfbXR4LCAiaGRsX2NudF9tdHgiKTsKKyAgICAgIGN5Z3dhaXQgKGhk bF9jbnRfbXR4KTsKKyAgICB9CiAgIGlmIChyZWFkX210eCkKICAgICBmb3JrX2ZpeHVwIChwYXJl bnQsIHJlYWRfbXR4LCAicmVhZF9tdHgiKTsKICAgaWYgKHNlbGVjdF9zZW0pCkBAIC01NjcsNiAr NTgzLDggQEAgZmhhbmRsZXJfcGlwZTo6Zml4dXBfYWZ0ZXJfZm9yayAoSEFORExFIHBhcmVudCkK ICAgICBmb3JrX2ZpeHVwIChwYXJlbnQsIHF1ZXJ5X2hkbCwgInF1ZXJ5X2hkbCIpOwogCiAgIGZo YW5kbGVyX2Jhc2U6OmZpeHVwX2FmdGVyX2ZvcmsgKHBhcmVudCk7CisgIGlmIChoZGxfY250X210 eCkKKyAgICBSZWxlYXNlTXV0ZXggKGhkbF9jbnRfbXR4KTsKIH0KIAogaW50CkBAIC01NzYsNiAr NTk0LDcgQEAgZmhhbmRsZXJfcGlwZTo6ZHVwIChmaGFuZGxlcl9iYXNlICpjaGlsZCwgaW50IGZs YWdzKQogICBmdHAtPnNldF9wb3Blbl9waWQgKDApOwogCiAgIGludCByZXMgPSAwOworICBjeWd3 YWl0IChoZGxfY250X210eCk7CiAgIGlmIChmaGFuZGxlcl9iYXNlOjpkdXAgKGNoaWxkLCBmbGFn cykpCiAgICAgcmVzID0gLTE7CiAgIGVsc2UgaWYgKHJlYWRfbXR4ICYmCkBAIC01ODksOCArNjA4 LDggQEAgZmhhbmRsZXJfcGlwZTo6ZHVwIChmaGFuZGxlcl9iYXNlICpjaGlsZCwgaW50IGZsYWdz KQogICAgIH0KICAgZWxzZSBpZiAoc2VsZWN0X3NlbSAmJgogCSAgICFEdXBsaWNhdGVIYW5kbGUg KEdldEN1cnJlbnRQcm9jZXNzICgpLCBzZWxlY3Rfc2VtLAotCQkJICAgIEdldEN1cnJlbnRQcm9j ZXNzICgpLCAmZnRwLT5zZWxlY3Rfc2VtLAotCQkJICAgIDAsICEoZmxhZ3MgJiBPX0NMT0VYRUMp LCBEVVBMSUNBVEVfU0FNRV9BQ0NFU1MpKQorCQkJICAgICBHZXRDdXJyZW50UHJvY2VzcyAoKSwg JmZ0cC0+c2VsZWN0X3NlbSwKKwkJCSAgICAgMCwgIShmbGFncyAmIE9fQ0xPRVhFQyksIERVUExJ Q0FURV9TQU1FX0FDQ0VTUykpCiAgICAgewogICAgICAgX19zZXRlcnJubyAoKTsKICAgICAgIGZ0 cC0+Y2xvc2UgKCk7CkBAIC01OTgsMTMgKzYxNywyMyBAQCBmaGFuZGxlcl9waXBlOjpkdXAgKGZo YW5kbGVyX2Jhc2UgKmNoaWxkLCBpbnQgZmxhZ3MpCiAgICAgfQogICBlbHNlIGlmIChxdWVyeV9o ZGwgJiYKIAkgICAhRHVwbGljYXRlSGFuZGxlIChHZXRDdXJyZW50UHJvY2VzcyAoKSwgcXVlcnlf aGRsLAotCQkJICAgIEdldEN1cnJlbnRQcm9jZXNzICgpLCAmZnRwLT5xdWVyeV9oZGwsCi0JCQkg ICAgMCwgIShmbGFncyAmIE9fQ0xPRVhFQyksIERVUExJQ0FURV9TQU1FX0FDQ0VTUykpCisJCQkg ICAgIEdldEN1cnJlbnRQcm9jZXNzICgpLCAmZnRwLT5xdWVyeV9oZGwsCisJCQkgICAgIDAsICEo ZmxhZ3MgJiBPX0NMT0VYRUMpLCBEVVBMSUNBVEVfU0FNRV9BQ0NFU1MpKQorICAgIHsKKyAgICAg IF9fc2V0ZXJybm8gKCk7CisgICAgICBmdHAtPmNsb3NlICgpOworICAgICAgcmVzID0gLTE7Cisg ICAgfQorICBlbHNlIGlmIChoZGxfY250X210eCAmJgorCSAgICFEdXBsaWNhdGVIYW5kbGUgKEdl dEN1cnJlbnRQcm9jZXNzICgpLCBoZGxfY250X210eCwKKwkJCSAgICAgR2V0Q3VycmVudFByb2Nl c3MgKCksICZmdHAtPmhkbF9jbnRfbXR4LAorCQkJICAgICAwLCAhKGZsYWdzICYgT19DTE9FWEVD KSwgRFVQTElDQVRFX1NBTUVfQUNDRVNTKSkKICAgICB7CiAgICAgICBfX3NldGVycm5vICgpOwog ICAgICAgZnRwLT5jbG9zZSAoKTsKICAgICAgIHJlcyA9IC0xOwogICAgIH0KKyAgUmVsZWFzZU11 dGV4IChoZGxfY250X210eCk7CiAKICAgZGVidWdfcHJpbnRmICgicmVzICVkIiwgcmVzKTsKICAg cmV0dXJuIHJlczsKQEAgLTYyMCw5ICs2NDksMTMgQEAgZmhhbmRsZXJfcGlwZTo6Y2xvc2UgKCkK ICAgICB9CiAgIGlmIChyZWFkX210eCkKICAgICBDbG9zZUhhbmRsZSAocmVhZF9tdHgpOworICBj eWd3YWl0IChoZGxfY250X210eCk7CiAgIGlmIChxdWVyeV9oZGwpCiAgICAgQ2xvc2VIYW5kbGUg KHF1ZXJ5X2hkbCk7Ci0gIHJldHVybiBmaGFuZGxlcl9iYXNlOjpjbG9zZSAoKTsKKyAgaW50IHJl dCA9IGZoYW5kbGVyX2Jhc2U6OmNsb3NlICgpOworICBSZWxlYXNlTXV0ZXggKGhkbF9jbnRfbXR4 KTsKKyAgQ2xvc2VIYW5kbGUgKGhkbF9jbnRfbXR4KTsKKyAgcmV0dXJuIHJldDsKIH0KIAogI2Rl ZmluZSBQSVBFX0lOVFJPICJcXFxcLlxccGlwZVxcY3lnd2luLSIKQEAgLTg3Miw2ICs5MDUsMzUg QEAgZmhhbmRsZXJfcGlwZTo6Y3JlYXRlIChmaGFuZGxlcl9waXBlICpmaHNbMl0sIHVuc2lnbmVk IHBzaXplLCBpbnQgbW9kZSkKIAkgIGdvdG8gb3V0OwogCX0KIAorICAgICAgZmhzWzBdLT5oZGxf Y250X210eCA9IENyZWF0ZU11dGV4VyAoc2EsIEZBTFNFLCBOVUxMKTsKKyAgICAgIGlmICghZmhz WzBdLT5oZGxfY250X210eCkKKwl7CisJICBDbG9zZUhhbmRsZSAoZmhzWzBdLT5yZWFkX210eCk7 CisJICBDbG9zZUhhbmRsZSAoZmhzWzBdLT5zZWxlY3Rfc2VtKTsKKwkgIGRlbGV0ZSBmaHNbMF07 CisJICBOdENsb3NlIChyKTsKKwkgIENsb3NlSGFuZGxlIChmaHNbMV0tPnNlbGVjdF9zZW0pOwor CSAgQ2xvc2VIYW5kbGUgKGZoc1sxXS0+cXVlcnlfaGRsKTsKKwkgIGRlbGV0ZSBmaHNbMV07CisJ ICBOdENsb3NlICh3KTsKKwkgIGdvdG8gb3V0OworCX0KKyAgICAgIGlmICghRHVwbGljYXRlSGFu ZGxlIChHZXRDdXJyZW50UHJvY2VzcyAoKSwgZmhzWzBdLT5oZGxfY250X210eCwKKwkJCSAgICBH ZXRDdXJyZW50UHJvY2VzcyAoKSwgJmZoc1sxXS0+aGRsX2NudF9tdHgsCisJCQkgICAgMCwgc2Et PmJJbmhlcml0SGFuZGxlLCBEVVBMSUNBVEVfU0FNRV9BQ0NFU1MpKQorCXsKKwkgIENsb3NlSGFu ZGxlIChmaHNbMF0tPnJlYWRfbXR4KTsKKwkgIENsb3NlSGFuZGxlIChmaHNbMF0tPnNlbGVjdF9z ZW0pOworCSAgQ2xvc2VIYW5kbGUgKGZoc1swXS0+aGRsX2NudF9tdHgpOworCSAgZGVsZXRlIGZo c1swXTsKKwkgIE50Q2xvc2UgKHIpOworCSAgQ2xvc2VIYW5kbGUgKGZoc1sxXS0+c2VsZWN0X3Nl bSk7CisJICBDbG9zZUhhbmRsZSAoZmhzWzFdLT5xdWVyeV9oZGwpOworCSAgZGVsZXRlIGZoc1sx XTsKKwkgIE50Q2xvc2UgKHcpOworCSAgZ290byBvdXQ7CisJfQorCiAgICAgICByZXMgPSAwOwog ICAgIH0KIAotLSAKMi4zMy4wCgo= --Multipart=_Thu__16_Sep_2021_22_02_01_+0900_005CjKV._TsjNmGw--