Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ofd5I-0004b9-J2 for pgsql-hackers@arkaria.postgresql.org; Tue, 04 Oct 2022 08:15:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ofd5H-0004PX-20 for pgsql-hackers@arkaria.postgresql.org; Tue, 04 Oct 2022 08:15:23 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ofd5F-0004PN-Nl for pgsql-hackers@lists.postgresql.org; Tue, 04 Oct 2022 08:15:22 +0000 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ofd5B-00031I-W2 for pgsql-hackers@postgresql.org; Tue, 04 Oct 2022 08:15:20 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 70FAE32002FB for ; Tue, 4 Oct 2022 04:15:16 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Tue, 04 Oct 2022 04:15:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1664871316; x= 1664957716; bh=PFiEhrX9WpKXg6jhqueSs5zOrLZ4W4EfSn7n2Fv6EOY=; b=Z cx1m0MJnQ5mN9hAO/p23UgHG1PY+ED09SZ4FpeLjfhqLHb5lZwzrhk7HcuUsvX9n 6Ic7FNcqhPoSWBscLYOx2MTmmgbW6We2H//aZq313dMh/PLfi/4e36ag5hLGjalm T5FGEU+/7kPqqPSgExOs0y7nBQ9TrVQmVbVVixEd0+v45wBG/0F8Ww8GaYy0DYSK glF/ExGMCyT1qUVt6Y0xLcoYPBpmCtTr2eDEcYcpQmcyakyk7k20P7AJE7VA+rlu 6Up/2bziXlzl/VwULktV5Tghx9Bg7py0aZJ+mKrWBQ8shKVbHT7kn0x6aBJcYxyw /P6SUAXLwZc+toJ55j+Rg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeeiuddgtdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpegtkfffgggfhffuvfesmhdtreertd efjeenucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghi shgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomheqnecuggftrfgrthhtvg hrnhepteevuedvieekieeghfevfffhhfdvjeevleelfeeikeeikedvffegteekuddtfeel necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvth gvrhdrvghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Tue, 4 Oct 2022 04:15:15 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------b46vJhJFQe3Wj8008PQHXjb7" Message-ID: Date: Tue, 4 Oct 2022 10:15:13 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Content-Language: en-US From: Peter Eisentraut Subject: pid_t on mingw To: pgsql-hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------b46vJhJFQe3Wj8008PQHXjb7 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I wanted to propose the attached patch to get rid of the custom pgpid_t typedef in pg_ctl. Since we liberally use pid_t elsewhere, this seemed plausible. However, this patch fails the CompilerWarnings job on Cirrus, because apparently under mingw, pid_t is "volatile long long int", so all the printf placeholders mismatch. However, we print pid_t as %d in a lot of other places, so I'm confused why this fails here. Also, googling around a bit about this, it seems that mingw might have changed the pid_t from long long int to int some time ago. Maybe that's how the pgpid_t came about to begin with. The Cirrus job uses a cross-compilation environment. I wonder how up to date that is compared to say the native mingw installations used on the build farm. Any clues? --------------b46vJhJFQe3Wj8008PQHXjb7 Content-Type: text/plain; charset=UTF-8; name="0001-Remove-pgpid_t-type-use-pid_t-instead.patch" Content-Disposition: attachment; filename="0001-Remove-pgpid_t-type-use-pid_t-instead.patch" Content-Transfer-Encoding: base64 RnJvbSAxMWFlZDY0ZGRiNmU1NjE1YzE1ZTE4YjA1ODI1NTQ1Y2U2NmVkOTUxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCA0IE9jdCAyMDIyIDA4OjEyOjMxICswMjAwClN1YmplY3Q6 IFtQQVRDSF0gUmVtb3ZlIHBncGlkX3QgdHlwZSwgdXNlIHBpZF90IGluc3RlYWQKCkl0J3Mg dW5jbGVhciB3aHkgYSBzZXBhcmF0ZSB0eXBlIHdvdWxkIGJlIG5lZWRlZCBoZXJlLiAgV2Ug dXNlIHBsYWluCnBpZF90IGV2ZXJ5d2hlcmUgZWxzZS4KClJldmVydHMgNjZmYTZlYmE1YTYx YmU3NDBhNmMwN2RlOTJjNDIyMjFmYWU3OWU5Yy4KLS0tCiBzcmMvYmluL3BnX2N0bC9wZ19j dGwuYyAgICAgICAgICB8IDExMSArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiBz cmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCB8ICAgMSAtCiAyIGZpbGVzIGNoYW5n ZWQsIDU0IGluc2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Yy9iaW4vcGdfY3RsL3BnX2N0bC5jIGIvc3JjL2Jpbi9wZ19jdGwvcGdfY3RsLmMKaW5kZXgg OTI5MWM2MWQwMDBmLi5hN2ZiNGE5YjMzMGIgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfY3Rs L3BnX2N0bC5jCisrKyBiL3NyYy9iaW4vcGdfY3RsL3BnX2N0bC5jCkBAIC0zMyw5ICszMyw2 IEBACiAjaW5jbHVkZSAicHFleHBidWZmZXIuaCIKICNlbmRpZgogCi0vKiBQSUQgY2FuIGJl IG5lZ2F0aXZlIGZvciBzdGFuZGFsb25lIGJhY2tlbmQgKi8KLXR5cGVkZWYgbG9uZyBwZ3Bp ZF90OwotCiAKIHR5cGVkZWYgZW51bQogewpAQCAtMTAzLDcgKzEwMCw3IEBAIHN0YXRpYyBj aGFyIGJhY2t1cF9maWxlW01BWFBHUEFUSF07CiBzdGF0aWMgY2hhciBwcm9tb3RlX2ZpbGVb TUFYUEdQQVRIXTsKIHN0YXRpYyBjaGFyIGxvZ3JvdGF0ZV9maWxlW01BWFBHUEFUSF07CiAK LXN0YXRpYyB2b2xhdGlsZSBwZ3BpZF90IHBvc3RtYXN0ZXJQSUQgPSAtMTsKK3N0YXRpYyB2 b2xhdGlsZSBwaWRfdCBwb3N0bWFzdGVyUElEID0gLTE7CiAKICNpZmRlZiBXSU4zMgogc3Rh dGljIERXT1JEIHBnY3RsX3N0YXJ0X3R5cGUgPSBTRVJWSUNFX0FVVE9fU1RBUlQ7CkBAIC0x MjksNyArMTI2LDcgQEAgc3RhdGljIHZvaWQgZG9fcmVsb2FkKHZvaWQpOwogc3RhdGljIHZv aWQgZG9fc3RhdHVzKHZvaWQpOwogc3RhdGljIHZvaWQgZG9fcHJvbW90ZSh2b2lkKTsKIHN0 YXRpYyB2b2lkIGRvX2xvZ3JvdGF0ZSh2b2lkKTsKLXN0YXRpYyB2b2lkIGRvX2tpbGwocGdw aWRfdCBwaWQpOworc3RhdGljIHZvaWQgZG9fa2lsbChwaWRfdCBwaWQpOwogc3RhdGljIHZv aWQgcHJpbnRfbXNnKGNvbnN0IGNoYXIgKm1zZyk7CiBzdGF0aWMgdm9pZCBhZGp1c3RfZGF0 YV9kaXIodm9pZCk7CiAKQEAgLTE0NywxMyArMTQ0LDEzIEBAIHN0YXRpYyBpbnQJQ3JlYXRl UmVzdHJpY3RlZFByb2Nlc3MoY2hhciAqY21kLCBQUk9DRVNTX0lORk9STUFUSU9OICpwcm9j ZXNzSW5mbywKIHN0YXRpYyBQVE9LRU5fUFJJVklMRUdFUyBHZXRQcml2aWxlZ2VzVG9EZWxl dGUoSEFORExFIGhUb2tlbik7CiAjZW5kaWYKIAotc3RhdGljIHBncGlkX3QgZ2V0X3BncGlk KGJvb2wgaXNfc3RhdHVzX3JlcXVlc3QpOworc3RhdGljIHBpZF90IGdldF9wZ3BpZChib29s IGlzX3N0YXR1c19yZXF1ZXN0KTsKIHN0YXRpYyBjaGFyICoqcmVhZGZpbGUoY29uc3QgY2hh ciAqcGF0aCwgaW50ICpudW1saW5lcyk7CiBzdGF0aWMgdm9pZCBmcmVlX3JlYWRmaWxlKGNo YXIgKipvcHRsaW5lcyk7Ci1zdGF0aWMgcGdwaWRfdCBzdGFydF9wb3N0bWFzdGVyKHZvaWQp Oworc3RhdGljIHBpZF90IHN0YXJ0X3Bvc3RtYXN0ZXIodm9pZCk7CiBzdGF0aWMgdm9pZCBy ZWFkX3Bvc3Rfb3B0cyh2b2lkKTsKIAotc3RhdGljIFdhaXRQTVJlc3VsdCB3YWl0X2Zvcl9w b3N0bWFzdGVyX3N0YXJ0KHBncGlkX3QgcG1fcGlkLCBib29sIGRvX2NoZWNrcG9pbnQpOwor c3RhdGljIFdhaXRQTVJlc3VsdCB3YWl0X2Zvcl9wb3N0bWFzdGVyX3N0YXJ0KHBpZF90IHBt X3BpZCwgYm9vbCBkb19jaGVja3BvaW50KTsKIHN0YXRpYyBib29sIHdhaXRfZm9yX3Bvc3Rt YXN0ZXJfc3RvcCh2b2lkKTsKIHN0YXRpYyBib29sIHdhaXRfZm9yX3Bvc3RtYXN0ZXJfcHJv bW90ZSh2b2lkKTsKIHN0YXRpYyBib29sIHBvc3RtYXN0ZXJfaXNfYWxpdmUocGlkX3QgcGlk KTsKQEAgLTI0NSwxMSArMjQyLDExIEBAIHByaW50X21zZyhjb25zdCBjaGFyICptc2cpCiAJ fQogfQogCi1zdGF0aWMgcGdwaWRfdAorc3RhdGljIHBpZF90CiBnZXRfcGdwaWQoYm9vbCBp c19zdGF0dXNfcmVxdWVzdCkKIHsKIAlGSUxFCSAgICpwaWRmOwotCWxvbmcJCXBpZDsKKwlp bnQJCQlwaWQ7CiAJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKIAogCWlmIChzdGF0KHBnX2RhdGEs ICZzdGF0YnVmKSAhPSAwKQpAQCAtMjg5LDcgKzI4Niw3IEBAIGdldF9wZ3BpZChib29sIGlz X3N0YXR1c19yZXF1ZXN0KQogCQkJZXhpdCgxKTsKIAkJfQogCX0KLQlpZiAoZnNjYW5mKHBp ZGYsICIlbGQiLCAmcGlkKSAhPSAxKQorCWlmIChmc2NhbmYocGlkZiwgIiVkIiwgJnBpZCkg IT0gMSkKIAl7CiAJCS8qIElzIHRoZSBmaWxlIGVtcHR5PyAqLwogCQlpZiAoZnRlbGwocGlk ZikgPT0gMCAmJiBmZW9mKHBpZGYpKQpAQCAtMzAxLDcgKzI5OCw3IEBAIGdldF9wZ3BpZChi b29sIGlzX3N0YXR1c19yZXF1ZXN0KQogCQlleGl0KDEpOwogCX0KIAlmY2xvc2UocGlkZik7 Ci0JcmV0dXJuIChwZ3BpZF90KSBwaWQ7CisJcmV0dXJuIChwaWRfdCkgcGlkOwogfQogCiAK QEAgLTQzOSwxMyArNDM2LDEzIEBAIGZyZWVfcmVhZGZpbGUoY2hhciAqKm9wdGxpbmVzKQog ICogT24gV2luZG93cywgd2UgYWxzbyBzYXZlIGFzaWRlIGEgaGFuZGxlIHRvIHRoZSBzaGVs bCBwcm9jZXNzIGluCiAgKiAicG9zdG1hc3RlclByb2Nlc3MiLCB3aGljaCB0aGUgY2FsbGVy IHNob3VsZCBjbG9zZSB3aGVuIGRvbmUgd2l0aCBpdC4KICAqLwotc3RhdGljIHBncGlkX3QK K3N0YXRpYyBwaWRfdAogc3RhcnRfcG9zdG1hc3Rlcih2b2lkKQogewogCWNoYXIJICAgKmNt ZDsKIAogI2lmbmRlZiBXSU4zMgotCXBncGlkX3QJCXBtX3BpZDsKKwlwaWRfdAkJcG1fcGlk OwogCiAJLyogRmx1c2ggc3RkaW8gY2hhbm5lbHMganVzdCBiZWZvcmUgZm9yaywgdG8gYXZv aWQgZG91YmxlLW91dHB1dCBwcm9ibGVtcyAqLwogCWZmbHVzaChOVUxMKTsKQEAgLTU5Myw3 ICs1OTAsNyBAQCBzdGFydF9wb3N0bWFzdGVyKHZvaWQpCiAgKiBtYW5hZ2VyIGNoZWNrcG9p bnQsIGl0J3MgZ290IG5vdGhpbmcgdG8gZG8gd2l0aCBkYXRhYmFzZSBjaGVja3BvaW50cyEh CiAgKi8KIHN0YXRpYyBXYWl0UE1SZXN1bHQKLXdhaXRfZm9yX3Bvc3RtYXN0ZXJfc3RhcnQo cGdwaWRfdCBwbV9waWQsIGJvb2wgZG9fY2hlY2twb2ludCkKK3dhaXRfZm9yX3Bvc3RtYXN0 ZXJfc3RhcnQocGlkX3QgcG1fcGlkLCBib29sIGRvX2NoZWNrcG9pbnQpCiB7CiAJaW50CQkJ aTsKIApAQCAtNjEwLDcgKzYwNyw3IEBAIHdhaXRfZm9yX3Bvc3RtYXN0ZXJfc3RhcnQocGdw aWRfdCBwbV9waWQsIGJvb2wgZG9fY2hlY2twb2ludCkKIAkJCW51bWxpbmVzID49IExPQ0tf RklMRV9MSU5FX1BNX1NUQVRVUykKIAkJewogCQkJLyogRmlsZSBpcyBjb21wbGV0ZSBlbm91 Z2ggZm9yIHVzLCBwYXJzZSBpdCAqLwotCQkJcGdwaWRfdAkJcG1waWQ7CisJCQlwaWRfdAkJ cG1waWQ7CiAJCQl0aW1lX3QJCXBtc3RhcnQ7CiAKIAkJCS8qCkBAIC02NjUsNyArNjYyLDcg QEAgd2FpdF9mb3JfcG9zdG1hc3Rlcl9zdGFydChwZ3BpZF90IHBtX3BpZCwgYm9vbCBkb19j aGVja3BvaW50KQogCQl7CiAJCQlpbnQJCQlleGl0c3RhdHVzOwogCi0JCQlpZiAod2FpdHBp ZCgocGlkX3QpIHBtX3BpZCwgJmV4aXRzdGF0dXMsIFdOT0hBTkcpID09IChwaWRfdCkgcG1f cGlkKQorCQkJaWYgKHdhaXRwaWQocG1fcGlkLCAmZXhpdHN0YXR1cywgV05PSEFORykgPT0g cG1fcGlkKQogCQkJCXJldHVybiBQT1NUTUFTVEVSX0ZBSUxFRDsKIAkJfQogI2Vsc2UKQEAg LTcxNiwxMiArNzEzLDEyIEBAIHdhaXRfZm9yX3Bvc3RtYXN0ZXJfc3RvcCh2b2lkKQogCiAJ Zm9yIChjbnQgPSAwOyBjbnQgPCB3YWl0X3NlY29uZHMgKiBXQUlUU19QRVJfU0VDOyBjbnQr KykKIAl7Ci0JCXBncGlkX3QJCXBpZDsKKwkJcGlkX3QJCXBpZDsKIAogCQlpZiAoKHBpZCA9 IGdldF9wZ3BpZChmYWxzZSkpID09IDApCiAJCQlyZXR1cm4gdHJ1ZTsJCS8qIHBpZCBmaWxl IGlzIGdvbmUgKi8KIAotCQlpZiAoa2lsbCgocGlkX3QpIHBpZCwgMCkgIT0gMCkKKwkJaWYg KGtpbGwocGlkLCAwKSAhPSAwKQogCQl7CiAJCQkvKgogCQkJICogUG9zdG1hc3RlciBzZWVt cyB0byBoYXZlIGRpZWQuICBDaGVjayB0aGUgcGlkIGZpbGUgb25jZSBtb3JlIHRvCkBAIC03 NTMsMTIgKzc1MCwxMiBAQCB3YWl0X2Zvcl9wb3N0bWFzdGVyX3Byb21vdGUodm9pZCkKIAog CWZvciAoY250ID0gMDsgY250IDwgd2FpdF9zZWNvbmRzICogV0FJVFNfUEVSX1NFQzsgY250 KyspCiAJewotCQlwZ3BpZF90CQlwaWQ7CisJCXBpZF90CQlwaWQ7CiAJCURCU3RhdGUJCXN0 YXRlOwogCiAJCWlmICgocGlkID0gZ2V0X3BncGlkKGZhbHNlKSkgPT0gMCkKIAkJCXJldHVy biBmYWxzZTsJCS8qIHBpZCBmaWxlIGlzIGdvbmUgKi8KLQkJaWYgKGtpbGwoKHBpZF90KSBw aWQsIDApICE9IDApCisJCWlmIChraWxsKHBpZCwgMCkgIT0gMCkKIAkJCXJldHVybiBmYWxz ZTsJCS8qIHBvc3RtYXN0ZXIgZGllZCAqLwogCiAJCXN0YXRlID0gZ2V0X2NvbnRyb2xfZGJz dGF0ZSgpOwpAQCAtODU1LDggKzg1Miw4IEBAIHRyYXBfc2lnaW50X2R1cmluZ19zdGFydHVw KFNJR05BTF9BUkdTKQogCWlmIChwb3N0bWFzdGVyUElEICE9IC0xKQogCXsKIAkJaWYgKGtp bGwocG9zdG1hc3RlclBJRCwgU0lHSU5UKSAhPSAwKQotCQkJd3JpdGVfc3RkZXJyKF8oIiVz OiBjb3VsZCBub3Qgc2VuZCBzdG9wIHNpZ25hbCAoUElEOiAlbGQpOiAlc1xuIiksCi0JCQkJ CQkgcHJvZ25hbWUsIChwZ3BpZF90KSBwb3N0bWFzdGVyUElELCBzdHJlcnJvcihlcnJubykp OworCQkJd3JpdGVfc3RkZXJyKF8oIiVzOiBjb3VsZCBub3Qgc2VuZCBzdG9wIHNpZ25hbCAo UElEOiAlZCk6ICVzXG4iKSwKKwkJCQkJCSBwcm9nbmFtZSwgcG9zdG1hc3RlclBJRCwgc3Ry ZXJyb3IoZXJybm8pKTsKIAl9CiAKIAkvKgpAQCAtOTI2LDggKzkyMyw4IEBAIGRvX2luaXQo dm9pZCkKIHN0YXRpYyB2b2lkCiBkb19zdGFydCh2b2lkKQogewotCXBncGlkX3QJCW9sZF9w aWQgPSAwOwotCXBncGlkX3QJCXBtX3BpZDsKKwlwaWRfdAkJb2xkX3BpZCA9IDA7CisJcGlk X3QJCXBtX3BpZDsKIAogCWlmIChjdGxfY29tbWFuZCAhPSBSRVNUQVJUX0NPTU1BTkQpCiAJ ewpAQCAtMTAxOCw3ICsxMDE1LDcgQEAgZG9fc3RhcnQodm9pZCkKIHN0YXRpYyB2b2lkCiBk b19zdG9wKHZvaWQpCiB7Ci0JcGdwaWRfdAkJcGlkOworCXBpZF90CQlwaWQ7CiAKIAlwaWQg PSBnZXRfcGdwaWQoZmFsc2UpOwogCkBAIC0xMDMyLDE0ICsxMDI5LDE0IEBAIGRvX3N0b3Ao dm9pZCkKIAl7CiAJCXBpZCA9IC1waWQ7CiAJCXdyaXRlX3N0ZGVycihfKCIlczogY2Fubm90 IHN0b3Agc2VydmVyOyAiCi0JCQkJCSAgICJzaW5nbGUtdXNlciBzZXJ2ZXIgaXMgcnVubmlu ZyAoUElEOiAlbGQpXG4iKSwKKwkJCQkJICAgInNpbmdsZS11c2VyIHNlcnZlciBpcyBydW5u aW5nIChQSUQ6ICVkKVxuIiksCiAJCQkJCSBwcm9nbmFtZSwgcGlkKTsKIAkJZXhpdCgxKTsK IAl9CiAKLQlpZiAoa2lsbCgocGlkX3QpIHBpZCwgc2lnKSAhPSAwKQorCWlmIChraWxsKHBp ZCwgc2lnKSAhPSAwKQogCXsKLQkJd3JpdGVfc3RkZXJyKF8oIiVzOiBjb3VsZCBub3Qgc2Vu ZCBzdG9wIHNpZ25hbCAoUElEOiAlbGQpOiAlc1xuIiksIHByb2duYW1lLCBwaWQsCisJCXdy aXRlX3N0ZGVycihfKCIlczogY291bGQgbm90IHNlbmQgc3RvcCBzaWduYWwgKFBJRDogJWQp OiAlc1xuIiksIHByb2duYW1lLCBwaWQsCiAJCQkJCSBzdHJlcnJvcihlcnJubykpOwogCQll eGl0KDEpOwogCX0KQEAgLTEwNzcsNyArMTA3NCw3IEBAIGRvX3N0b3Aodm9pZCkKIHN0YXRp YyB2b2lkCiBkb19yZXN0YXJ0KHZvaWQpCiB7Ci0JcGdwaWRfdAkJcGlkOworCXBpZF90CQlw aWQ7CiAKIAlwaWQgPSBnZXRfcGdwaWQoZmFsc2UpOwogCkBAIC0xMDkzLDIxICsxMDkwLDIx IEBAIGRvX3Jlc3RhcnQodm9pZCkKIAllbHNlIGlmIChwaWQgPCAwKQkJCS8qIHN0YW5kYWxv bmUgYmFja2VuZCwgbm90IHBvc3RtYXN0ZXIgKi8KIAl7CiAJCXBpZCA9IC1waWQ7Ci0JCWlm IChwb3N0bWFzdGVyX2lzX2FsaXZlKChwaWRfdCkgcGlkKSkKKwkJaWYgKHBvc3RtYXN0ZXJf aXNfYWxpdmUocGlkKSkKIAkJewogCQkJd3JpdGVfc3RkZXJyKF8oIiVzOiBjYW5ub3QgcmVz dGFydCBzZXJ2ZXI7ICIKLQkJCQkJCSAgICJzaW5nbGUtdXNlciBzZXJ2ZXIgaXMgcnVubmlu ZyAoUElEOiAlbGQpXG4iKSwKKwkJCQkJCSAgICJzaW5nbGUtdXNlciBzZXJ2ZXIgaXMgcnVu bmluZyAoUElEOiAlZClcbiIpLAogCQkJCQkJIHByb2duYW1lLCBwaWQpOwogCQkJd3JpdGVf c3RkZXJyKF8oIlBsZWFzZSB0ZXJtaW5hdGUgdGhlIHNpbmdsZS11c2VyIHNlcnZlciBhbmQg dHJ5IGFnYWluLlxuIikpOwogCQkJZXhpdCgxKTsKIAkJfQogCX0KIAotCWlmIChwb3N0bWFz dGVyX2lzX2FsaXZlKChwaWRfdCkgcGlkKSkKKwlpZiAocG9zdG1hc3Rlcl9pc19hbGl2ZShw aWQpKQogCXsKLQkJaWYgKGtpbGwoKHBpZF90KSBwaWQsIHNpZykgIT0gMCkKKwkJaWYgKGtp bGwocGlkLCBzaWcpICE9IDApCiAJCXsKLQkJCXdyaXRlX3N0ZGVycihfKCIlczogY291bGQg bm90IHNlbmQgc3RvcCBzaWduYWwgKFBJRDogJWxkKTogJXNcbiIpLCBwcm9nbmFtZSwgcGlk LAorCQkJd3JpdGVfc3RkZXJyKF8oIiVzOiBjb3VsZCBub3Qgc2VuZCBzdG9wIHNpZ25hbCAo UElEOiAlZCk6ICVzXG4iKSwgcHJvZ25hbWUsIHBpZCwKIAkJCQkJCSBzdHJlcnJvcihlcnJu bykpOwogCQkJZXhpdCgxKTsKIAkJfQpAQCAtMTEzMSw3ICsxMTI4LDcgQEAgZG9fcmVzdGFy dCh2b2lkKQogCX0KIAllbHNlCiAJewotCQl3cml0ZV9zdGRlcnIoXygiJXM6IG9sZCBzZXJ2 ZXIgcHJvY2VzcyAoUElEOiAlbGQpIHNlZW1zIHRvIGJlIGdvbmVcbiIpLAorCQl3cml0ZV9z dGRlcnIoXygiJXM6IG9sZCBzZXJ2ZXIgcHJvY2VzcyAoUElEOiAlZCkgc2VlbXMgdG8gYmUg Z29uZVxuIiksCiAJCQkJCSBwcm9nbmFtZSwgcGlkKTsKIAkJd3JpdGVfc3RkZXJyKF8oInN0 YXJ0aW5nIHNlcnZlciBhbnl3YXlcbiIpKTsKIAl9CkBAIC0xMTQyLDcgKzExMzksNyBAQCBk b19yZXN0YXJ0KHZvaWQpCiBzdGF0aWMgdm9pZAogZG9fcmVsb2FkKHZvaWQpCiB7Ci0JcGdw aWRfdAkJcGlkOworCXBpZF90CQlwaWQ7CiAKIAlwaWQgPSBnZXRfcGdwaWQoZmFsc2UpOwog CWlmIChwaWQgPT0gMCkJCQkJLyogbm8gcGlkIGZpbGUgKi8KQEAgLTExNTUsMTUgKzExNTIs MTUgQEAgZG9fcmVsb2FkKHZvaWQpCiAJewogCQlwaWQgPSAtcGlkOwogCQl3cml0ZV9zdGRl cnIoXygiJXM6IGNhbm5vdCByZWxvYWQgc2VydmVyOyAiCi0JCQkJCSAgICJzaW5nbGUtdXNl ciBzZXJ2ZXIgaXMgcnVubmluZyAoUElEOiAlbGQpXG4iKSwKKwkJCQkJICAgInNpbmdsZS11 c2VyIHNlcnZlciBpcyBydW5uaW5nIChQSUQ6ICVkKVxuIiksCiAJCQkJCSBwcm9nbmFtZSwg cGlkKTsKIAkJd3JpdGVfc3RkZXJyKF8oIlBsZWFzZSB0ZXJtaW5hdGUgdGhlIHNpbmdsZS11 c2VyIHNlcnZlciBhbmQgdHJ5IGFnYWluLlxuIikpOwogCQlleGl0KDEpOwogCX0KIAotCWlm IChraWxsKChwaWRfdCkgcGlkLCBzaWcpICE9IDApCisJaWYgKGtpbGwocGlkLCBzaWcpICE9 IDApCiAJewotCQl3cml0ZV9zdGRlcnIoXygiJXM6IGNvdWxkIG5vdCBzZW5kIHJlbG9hZCBz aWduYWwgKFBJRDogJWxkKTogJXNcbiIpLAorCQl3cml0ZV9zdGRlcnIoXygiJXM6IGNvdWxk IG5vdCBzZW5kIHJlbG9hZCBzaWduYWwgKFBJRDogJWQpOiAlc1xuIiksCiAJCQkJCSBwcm9n bmFtZSwgcGlkLCBzdHJlcnJvcihlcnJubykpOwogCQlleGl0KDEpOwogCX0KQEAgLTExODAs NyArMTE3Nyw3IEBAIHN0YXRpYyB2b2lkCiBkb19wcm9tb3RlKHZvaWQpCiB7CiAJRklMRQkg ICAqcHJtZmlsZTsKLQlwZ3BpZF90CQlwaWQ7CisJcGlkX3QJCXBpZDsKIAogCXBpZCA9IGdl dF9wZ3BpZChmYWxzZSk7CiAKQEAgLTExOTQsNyArMTE5MSw3IEBAIGRvX3Byb21vdGUodm9p ZCkKIAl7CiAJCXBpZCA9IC1waWQ7CiAJCXdyaXRlX3N0ZGVycihfKCIlczogY2Fubm90IHBy b21vdGUgc2VydmVyOyAiCi0JCQkJCSAgICJzaW5nbGUtdXNlciBzZXJ2ZXIgaXMgcnVubmlu ZyAoUElEOiAlbGQpXG4iKSwKKwkJCQkJICAgInNpbmdsZS11c2VyIHNlcnZlciBpcyBydW5u aW5nIChQSUQ6ICVkKVxuIiksCiAJCQkJCSBwcm9nbmFtZSwgcGlkKTsKIAkJZXhpdCgxKTsK IAl9CkBAIC0xMjIzLDkgKzEyMjAsOSBAQCBkb19wcm9tb3RlKHZvaWQpCiAJfQogCiAJc2ln ID0gU0lHVVNSMTsKLQlpZiAoa2lsbCgocGlkX3QpIHBpZCwgc2lnKSAhPSAwKQorCWlmIChr aWxsKHBpZCwgc2lnKSAhPSAwKQogCXsKLQkJd3JpdGVfc3RkZXJyKF8oIiVzOiBjb3VsZCBu b3Qgc2VuZCBwcm9tb3RlIHNpZ25hbCAoUElEOiAlbGQpOiAlc1xuIiksCisJCXdyaXRlX3N0 ZGVycihfKCIlczogY291bGQgbm90IHNlbmQgcHJvbW90ZSBzaWduYWwgKFBJRDogJWQpOiAl c1xuIiksCiAJCQkJCSBwcm9nbmFtZSwgcGlkLCBzdHJlcnJvcihlcnJubykpOwogCQlpZiAo dW5saW5rKHByb21vdGVfZmlsZSkgIT0gMCkKIAkJCXdyaXRlX3N0ZGVycihfKCIlczogY291 bGQgbm90IHJlbW92ZSBwcm9tb3RlIHNpZ25hbCBmaWxlIFwiJXNcIjogJXNcbiIpLApAQCAt MTI2MSw3ICsxMjU4LDcgQEAgc3RhdGljIHZvaWQKIGRvX2xvZ3JvdGF0ZSh2b2lkKQogewog CUZJTEUJICAgKmxvZ3JvdGF0ZWZpbGU7Ci0JcGdwaWRfdAkJcGlkOworCXBpZF90CQlwaWQ7 CiAKIAlwaWQgPSBnZXRfcGdwaWQoZmFsc2UpOwogCkBAIC0xMjc1LDcgKzEyNzIsNyBAQCBk b19sb2dyb3RhdGUodm9pZCkKIAl7CiAJCXBpZCA9IC1waWQ7CiAJCXdyaXRlX3N0ZGVycihf KCIlczogY2Fubm90IHJvdGF0ZSBsb2cgZmlsZTsgIgotCQkJCQkgICAic2luZ2xlLXVzZXIg c2VydmVyIGlzIHJ1bm5pbmcgKFBJRDogJWxkKVxuIiksCisJCQkJCSAgICJzaW5nbGUtdXNl ciBzZXJ2ZXIgaXMgcnVubmluZyAoUElEOiAlZClcbiIpLAogCQkJCQkgcHJvZ25hbWUsIHBp ZCk7CiAJCWV4aXQoMSk7CiAJfQpAQCAtMTI5Niw5ICsxMjkzLDkgQEAgZG9fbG9ncm90YXRl KHZvaWQpCiAJfQogCiAJc2lnID0gU0lHVVNSMTsKLQlpZiAoa2lsbCgocGlkX3QpIHBpZCwg c2lnKSAhPSAwKQorCWlmIChraWxsKHBpZCwgc2lnKSAhPSAwKQogCXsKLQkJd3JpdGVfc3Rk ZXJyKF8oIiVzOiBjb3VsZCBub3Qgc2VuZCBsb2cgcm90YXRpb24gc2lnbmFsIChQSUQ6ICVs ZCk6ICVzXG4iKSwKKwkJd3JpdGVfc3RkZXJyKF8oIiVzOiBjb3VsZCBub3Qgc2VuZCBsb2cg cm90YXRpb24gc2lnbmFsIChQSUQ6ICVkKTogJXNcbiIpLAogCQkJCQkgcHJvZ25hbWUsIHBp ZCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJaWYgKHVubGluayhsb2dyb3RhdGVfZmlsZSkgIT0g MCkKIAkJCXdyaXRlX3N0ZGVycihfKCIlczogY291bGQgbm90IHJlbW92ZSBsb2cgcm90YXRp b24gc2lnbmFsIGZpbGUgXCIlc1wiOiAlc1xuIiksCkBAIC0xMzQxLDcgKzEzMzgsNyBAQCBw b3N0bWFzdGVyX2lzX2FsaXZlKHBpZF90IHBpZCkKIHN0YXRpYyB2b2lkCiBkb19zdGF0dXMo dm9pZCkKIHsKLQlwZ3BpZF90CQlwaWQ7CisJcGlkX3QJCXBpZDsKIAogCXBpZCA9IGdldF9w Z3BpZCh0cnVlKTsKIAkvKiBJcyB0aGVyZSBhIHBpZCBmaWxlPyAqLwpAQCAtMTM1MSw5ICsx MzQ4LDkgQEAgZG9fc3RhdHVzKHZvaWQpCiAJCWlmIChwaWQgPCAwKQogCQl7CiAJCQlwaWQg PSAtcGlkOwotCQkJaWYgKHBvc3RtYXN0ZXJfaXNfYWxpdmUoKHBpZF90KSBwaWQpKQorCQkJ aWYgKHBvc3RtYXN0ZXJfaXNfYWxpdmUocGlkKSkKIAkJCXsKLQkJCQlwcmludGYoXygiJXM6 IHNpbmdsZS11c2VyIHNlcnZlciBpcyBydW5uaW5nIChQSUQ6ICVsZClcbiIpLAorCQkJCXBy aW50ZihfKCIlczogc2luZ2xlLXVzZXIgc2VydmVyIGlzIHJ1bm5pbmcgKFBJRDogJWQpXG4i KSwKIAkJCQkJICAgcHJvZ25hbWUsIHBpZCk7CiAJCQkJcmV0dXJuOwogCQkJfQpAQCAtMTM2 MSwxMyArMTM1OCwxMyBAQCBkb19zdGF0dXModm9pZCkKIAkJZWxzZQogCQkJLyogbXVzdCBi ZSBhIHBvc3RtYXN0ZXIgKi8KIAkJewotCQkJaWYgKHBvc3RtYXN0ZXJfaXNfYWxpdmUoKHBp ZF90KSBwaWQpKQorCQkJaWYgKHBvc3RtYXN0ZXJfaXNfYWxpdmUocGlkKSkKIAkJCXsKIAkJ CQljaGFyCSAgKipvcHRsaW5lczsKIAkJCQljaGFyCSAgKipjdXJyX2xpbmU7CiAJCQkJaW50 CQkJbnVtbGluZXM7CiAKLQkJCQlwcmludGYoXygiJXM6IHNlcnZlciBpcyBydW5uaW5nIChQ SUQ6ICVsZClcbiIpLAorCQkJCXByaW50ZihfKCIlczogc2VydmVyIGlzIHJ1bm5pbmcgKFBJ RDogJWQpXG4iKSwKIAkJCQkJICAgcHJvZ25hbWUsIHBpZCk7CiAKIAkJCQlvcHRsaW5lcyA9 IHJlYWRmaWxlKHBvc3RvcHRzX2ZpbGUsICZudW1saW5lcyk7CkBAIC0xMzk2LDExICsxMzkz LDExIEBAIGRvX3N0YXR1cyh2b2lkKQogCiAKIHN0YXRpYyB2b2lkCi1kb19raWxsKHBncGlk X3QgcGlkKQorZG9fa2lsbChwaWRfdCBwaWQpCiB7Ci0JaWYgKGtpbGwoKHBpZF90KSBwaWQs IHNpZykgIT0gMCkKKwlpZiAoa2lsbChwaWQsIHNpZykgIT0gMCkKIAl7Ci0JCXdyaXRlX3N0 ZGVycihfKCIlczogY291bGQgbm90IHNlbmQgc2lnbmFsICVkIChQSUQ6ICVsZCk6ICVzXG4i KSwKKwkJd3JpdGVfc3RkZXJyKF8oIiVzOiBjb3VsZCBub3Qgc2VuZCBzaWduYWwgJWQgKFBJ RDogJWQpOiAlc1xuIiksCiAJCQkJCSBwcm9nbmFtZSwgc2lnLCBwaWQsIHN0cmVycm9yKGVy cm5vKSk7CiAJCWV4aXQoMSk7CiAJfQpAQCAtMjIxNCw3ICsyMjExLDcgQEAgbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAJY2hhcgkgICAqZW52X3dhaXQ7CiAJaW50CQkJb3B0aW9u X2luZGV4OwogCWludAkJCWM7Ci0JcGdwaWRfdAkJa2lsbHByb2MgPSAwOworCXBpZF90CQlr aWxscHJvYyA9IDA7CiAKIAlwZ19sb2dnaW5nX2luaXQoYXJndlswXSk7CiAJcHJvZ25hbWUg PSBnZXRfcHJvZ25hbWUoYXJndlswXSk7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRl bnQvdHlwZWRlZnMubGlzdCBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0Cmlu ZGV4IDk3YzliYzE4NjE1Ny4uM2U4Y2VhZDkwZjQ4IDEwMDY0NAotLS0gYS9zcmMvdG9vbHMv cGdpbmRlbnQvdHlwZWRlZnMubGlzdAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRl ZnMubGlzdApAQCAtMzUxMyw3ICszNTEzLDYgQEAgcGdfd2NfcHJvYmVmdW5jCiBwZ193Y2hh cgogcGdfd2NoYXJfdGJsCiBwZ3BfYXJtb3JfaGVhZGVyc19zdGF0ZQotcGdwaWRfdAogcGdz b2NrZXQKIHBnc3FsX3RoaW5nX3QKIHBnc3NFbnRyeQotLSAKMi4zNy4zCgo= --------------b46vJhJFQe3Wj8008PQHXjb7--