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 1kRrva-0006io-Vn for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Oct 2020 07:07:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kRrvY-0006NK-S6 for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Oct 2020 07:07:24 +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 1kRrvY-0006ND-Ab for pgsql-hackers@lists.postgresql.org; Mon, 12 Oct 2020 07:07:24 +0000 Received: from smtp-fw-4101.amazon.com ([72.21.198.25]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kRrvR-0003r6-AZ for pgsql-hackers@postgresql.org; Mon, 12 Oct 2020 07:07:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1602486438; x=1634022438; h=to:cc:references:from:message-id:date:mime-version: in-reply-to:subject; bh=1N3jKjvluHPpTWdapyHIfaxcrJBedUMJWteZmeDZsJA=; b=rUapfeno1JHAQKamb6kCxO1EbZS4TZqyD4NN+uRzvDIY10AKuyBLOQ7I bk9hk+23dvQjokKRrsH0naPzEfsDK/xWCW3mTOO1mZet1D5qlG1i/gorz FgiOWmr6Npa5w5NHDLlygX8XG3Dv/v3mW967xSl3svkH0MVK9at3MiBYV 0=; X-Amazon-filename: v1-0005-Add-Standby-Recovery-Conflicts-BlockedOnly-Info.patch X-IronPort-AV: E=Sophos;i="5.77,366,1596499200"; d="scan'208";a="59135549" Subject: Re: Add Information during standby recovery conflicts Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-2a-e7be2041.us-west-2.amazon.com) ([10.43.8.6]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP; 12 Oct 2020 07:07:10 +0000 Received: from EX13D03EUC003.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan2.pdx.amazon.com [10.170.41.162]) by email-inbound-relay-2a-e7be2041.us-west-2.amazon.com (Postfix) with ESMTPS id 24E1FA1E15; Mon, 12 Oct 2020 07:05:13 +0000 (UTC) Received: from 38f9d36c4abb.ant.amazon.com (10.43.160.27) by EX13D03EUC003.ant.amazon.com (10.43.164.192) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 12 Oct 2020 07:05:10 +0000 To: Alvaro Herrera CC: Masahiko Sawada , PostgreSQL-development References: <20201004141034.GA6361@alvherre.pgsql> From: "Drouvot, Bertrand" Message-ID: <6670629c-58de-0d51-7102-58b07dad6a9a@amazon.com> Date: Mon, 12 Oct 2020 09:05:05 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:78.0) Gecko/20100101 Thunderbird/78.3.2 MIME-Version: 1.0 In-Reply-To: <20201004141034.GA6361@alvherre.pgsql> Content-Type: multipart/mixed; boundary="------------E015E8BDE87D6E8EC8B2E65D" Content-Language: en-US X-Originating-IP: [10.43.160.27] X-ClientProxiedBy: EX13D20UWA003.ant.amazon.com (10.43.160.97) To EX13D03EUC003.ant.amazon.com (10.43.164.192) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --------------E015E8BDE87D6E8EC8B2E65D Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Hi, On 10/4/20 4:10 PM, Alvaro Herrera wrote >> +extern const char *get_procsignal_reason_desc(ProcSignalReason reason) >> + { >> + const char *reasonDesc = "unknown reason"; >> + >> + switch (reason) >> + { >> + case PROCSIG_RECOVERY_CONFLICT_BUFFERPIN: >> + reasonDesc = "buffer pin"; >> + break; > It doesn't work to construct sentences from pieces, for translatability > reasons. Maybe you can return the whole errmsg sentence from this > routine instead. > Thanks for the feedback! Enclosed a new version that take care of it. Bertrand --------------E015E8BDE87D6E8EC8B2E65D Content-Type: text/plain; charset="UTF-8"; x-mac-type=0; x-mac-creator=0; name="v1-0005-Add-Standby-Recovery-Conflicts-BlockedOnly-Info.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="v1-0005-Add-Standby-Recovery-Conflicts-BlockedOnly-Info.patc"; filename*1="h" IGRvYy9zcmMvc2dtbC9jb25maWcuc2dtbCAgICAgICAgICAgICAgICAgICAgICB8IDIyICsr KysrKysrKysKIHNyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jICAgICAgICAg ICB8IDEzICsrKysrKwogc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY3NpZ25hbC5jICAg ICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC9z dG9yYWdlL2lwYy9zdGFuZGJ5LmMgICAgICAgICAgICAgfCA1NyArKysrKysrKysrKysrKysr KysrKysrKysrKwogc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYyAgICAgICAgICAg ICAgIHwgIDkgKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMgICAgICAgICAg ICAgICAgICB8IDEwICsrKystCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwu Y29uZi5zYW1wbGUgfCAgMSArCiBzcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2NzaWduYWwuaCAg ICAgICAgICAgICAgfCAgMSArCiBzcmMvaW5jbHVkZS9zdG9yYWdlL3N0YW5kYnkuaCAgICAg ICAgICAgICAgICAgfCAgMiArCiA5IGZpbGVzIGNoYW5nZWQsIDE3MiBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKaW5kZXggZWU5MTQ3NDBjYy4uNjAyM2M3ZDhj MCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCisrKyBiL2RvYy9zcmMv c2dtbC9jb25maWcuc2dtbApAQCAtNjgzOSw2ICs2ODM5LDI4IEBAIGxvZ19saW5lX3ByZWZp eCA9ICclbSBbJXBdICVxJXVAJWQvJWEgJwogICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92 YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLWxvZy1yZWNvdmVy eS1jb25mbGljdC13YWl0cyIgeHJlZmxhYmVsPSJsb2dfcmVjb3ZlcnlfY29uZmxpY3Rfd2Fp dHMiPgorICAgICAgPHRlcm0+PHZhcm5hbWU+bG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRz PC92YXJuYW1lPiAoPHR5cGU+Ym9vbGVhbjwvdHlwZT4pCisgICAgICA8aW5kZXh0ZXJtPgor ICAgICAgIDxwcmltYXJ5Pjx2YXJuYW1lPmxvZ19yZWNvdmVyeV9jb25mbGljdF93YWl0czwv dmFybmFtZT4gY29uZmlndXJhdGlvbiBwYXJhbWV0ZXI8L3ByaW1hcnk+CisgICAgICA8L2lu ZGV4dGVybT4KKyAgICAgIDwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFy YT4KKyAgICAgICAgQ29udHJvbHMgd2hldGhlciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBpcyBw cm9kdWNlZCB3aGVuIHRoZSAKKyAgICAgICAgc3RhcnR1cCBwcm9jZXNzIGlzIHJlc29sdmlu ZyBvciB3YWl0aW5nIGZvciByZWNvdmVyeSBjb25mbGljdHMuCisgICAgICAgIEl0IGxvZ3Mg b25seSB3aGVuIGl0IHdhaXRzIGZvciBsb25nZXIgdGhhbiA8dmFybmFtZT5kZWFkbG9ja190 aW1lb3V0PC92YXJuYW1lPi4KKyAgICAgICAgRm9yIHRoZSBsb2NrIGNvbmZsaWN0IGNhc2Us IGl0IGRvZXMgbm90IHdhaXQgZm9yIDx2YXJuYW1lPmRlYWRsb2NrX3RpbWVvdXQ8L3Zhcm5h bWU+IHRvIGJlIHJlYWNoZWQuCisgICAgICAgPC9wYXJhPgorCisgICAgICAgPHBhcmE+Cisg ICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBvbmx5IGJlIHNldCBpbiB0aGUgPGZpbGVuYW1l PnBvc3RncmVzcWwuY29uZjwvZmlsZW5hbWU+CisgICAgICAgIGZpbGUgb3Igb24gdGhlIHNl cnZlciBjb21tYW5kIGxpbmUuCisgICAgICAgIFRoZSBkZWZhdWx0IGlzIDxsaXRlcmFsPm9m ZjwvbGl0ZXJhbD4uCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAg PC92YXJsaXN0ZW50cnk+CisKICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLWxvZy1wYXJh bWV0ZXItbWF4LWxlbmd0aCIgeHJlZmxhYmVsPSJsb2dfcGFyYW1ldGVyX21heF9sZW5ndGgi PgogICAgICAgPHRlcm0+PHZhcm5hbWU+bG9nX3BhcmFtZXRlcl9tYXhfbGVuZ3RoPC92YXJu YW1lPiAoPHR5cGU+aW50ZWdlcjwvdHlwZT4pCiAgICAgICA8aW5kZXh0ZXJtPgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMgYi9zcmMvYmFja2Vu ZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYwppbmRleCBlNTQ5ZmExZDMwLi4xNTJjMjI5MmQ4 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYworKysg Yi9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYwpAQCAtMzgwOCw2ICszODA4 LDggQEAgTG9ja0J1ZmZlckZvckNsZWFudXAoQnVmZmVyIGJ1ZmZlcikKIHsKIAlCdWZmZXJE ZXNjICpidWZIZHI7CiAJY2hhcgkgICAqbmV3X3N0YXR1cyA9IE5VTEw7CisJVGltZXN0YW1w VHogd2FpdFN0YXJ0ID0gMDsKKwlib29sIGxvZ2dlZDsKIAogCUFzc2VydChCdWZmZXJJc1Bp bm5lZChidWZmZXIpKTsKIAlBc3NlcnQoUGluQ291bnRXYWl0QnVmID09IE5VTEwpOwpAQCAt MzgyOCw2ICszODMwLDggQEAgTG9ja0J1ZmZlckZvckNsZWFudXAoQnVmZmVyIGJ1ZmZlcikK IAkJCSBHZXRQcml2YXRlUmVmQ291bnQoYnVmZmVyKSk7CiAKIAlidWZIZHIgPSBHZXRCdWZm ZXJEZXNjcmlwdG9yKGJ1ZmZlciAtIDEpOworCXdhaXRTdGFydCA9IEdldEN1cnJlbnRUaW1l c3RhbXAoKTsKKwlsb2dnZWQgPSBmYWxzZTsKIAogCWZvciAoOzspCiAJewpAQCAtMzg4MSw2 ICszODg1LDE1IEBAIExvY2tCdWZmZXJGb3JDbGVhbnVwKEJ1ZmZlciBidWZmZXIpCiAJCQkJ bmV3X3N0YXR1c1tsZW5dID0gJ1wwJzsgLyogdHJ1bmNhdGUgb2ZmICIgd2FpdGluZyIgKi8K IAkJCX0KIAorCQkJaWYgKGxvZ19yZWNvdmVyeV9jb25mbGljdF93YWl0cyAmJiAhbG9nZ2Vk CisJCQkJCSYmIFRpbWVzdGFtcERpZmZlcmVuY2VFeGNlZWRzKHdhaXRTdGFydCwKKwkJCQkJ CQlHZXRDdXJyZW50VGltZXN0YW1wKCksIERlYWRsb2NrVGltZW91dCkpCisJCQl7CisJCQkJ TG9nUmVjb3ZlcnlDb25mbGljdChOVUxMLAorCQkJCQkJUFJPQ1NJR19SRUNPVkVSWV9DT05G TElDVF9CVUZGRVJQSU4sIHRydWUpOworCQkJCWxvZ2dlZCA9IHRydWU7CisJCQl9CisKIAkJ CS8qIFB1Ymxpc2ggdGhlIGJ1ZmlkIHRoYXQgU3RhcnR1cCBwcm9jZXNzIHdhaXRzIG9uICov CiAJCQlTZXRTdGFydHVwQnVmZmVyUGluV2FpdEJ1ZklkKGJ1ZmZlciAtIDEpOwogCQkJLyog U2V0IGFsYXJtIGFuZCB0aGVuIHdhaXQgdG8gYmUgc2lnbmFsZWQgYnkgVW5waW5CdWZmZXIo KSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY3NpZ25hbC5j IGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY3NpZ25hbC5jCmluZGV4IGZmZTY3YWNl YTEuLmQ0NTczYTg5OTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3By b2NzaWduYWwuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9wcm9jc2lnbmFsLmMK QEAgLTU5MSwzICs1OTEsNjEgQEAgcHJvY3NpZ25hbF9zaWd1c3IxX2hhbmRsZXIoU0lHTkFM X0FSR1MpCiAKIAllcnJubyA9IHNhdmVfZXJybm87CiB9CisKK2V4dGVybiBjb25zdCBjaGFy ICpnZXRfcmVjb3ZlcnlfY29uZmxpY3RfbWVzc2FnZShQcm9jU2lnbmFsUmVhc29uIHJlYXNv biwgYm9vbCB3YWl0aW5nKQoreworCWNvbnN0IGNoYXIgKmNvbmZsaWN0X21lc3NhZ2U7CisJ aWYgKHdhaXRpbmcpCisJCWNvbmZsaWN0X21lc3NhZ2UgPSAicmVjb3ZlcnkgaXMgd2FpdGlu ZyByZWNvdmVyeSBjb25mbGljdCBvbiB1bmtub3duIHJlYXNvbiI7CisJZWxzZQorCQljb25m bGljdF9tZXNzYWdlID0gInJlY292ZXJ5IGlzIHJlc29sdmluZyByZWNvdmVyeSBjb25mbGlj dCBvbiB1bmtub3duIHJlYXNvbiI7CisKKwlzd2l0Y2ggKHJlYXNvbikKKwl7CisJCWNhc2Ug UFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVF9CVUZGRVJQSU46CisJCQlpZiAod2FpdGluZykK KwkJCQljb25mbGljdF9tZXNzYWdlID0gInJlY292ZXJ5IGlzIHdhaXRpbmcgcmVjb3Zlcnkg Y29uZmxpY3Qgb24gYnVmZmVyIHBpbiI7CisJCQllbHNlCisJCQkJY29uZmxpY3RfbWVzc2Fn ZSA9ICJyZWNvdmVyeSBpcyByZXNvbHZpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24gYnVmZmVy IHBpbiI7CisJCQlicmVhazsKKwkJY2FzZSBQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0xP Q0s6CisJCQlpZiAod2FpdGluZykKKwkJCQljb25mbGljdF9tZXNzYWdlID0gInJlY292ZXJ5 IGlzIHdhaXRpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24gbG9jayI7CisJCQllbHNlCisJCQkJ Y29uZmxpY3RfbWVzc2FnZSA9ICJyZWNvdmVyeSBpcyByZXNvbHZpbmcgcmVjb3ZlcnkgY29u ZmxpY3Qgb24gbG9jayI7CisJCQlicmVhazsKKwkJY2FzZSBQUk9DU0lHX1JFQ09WRVJZX0NP TkZMSUNUX1RBQkxFU1BBQ0U6CisJCQlpZiAod2FpdGluZykKKwkJCQljb25mbGljdF9tZXNz YWdlID0gInJlY292ZXJ5IGlzIHdhaXRpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24gdGFibGVz cGFjZSI7CisJCQllbHNlCisJCQkJY29uZmxpY3RfbWVzc2FnZSA9ICJyZWNvdmVyeSBpcyBy ZXNvbHZpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24gdGFibGVzcGFjZSI7CisJCQlicmVhazsK KwkJY2FzZSBQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX1NOQVBTSE9UOgorCQkJaWYgKHdh aXRpbmcpCisJCQkJY29uZmxpY3RfbWVzc2FnZSA9ICJyZWNvdmVyeSBpcyB3YWl0aW5nIHJl Y292ZXJ5IGNvbmZsaWN0IG9uIHNuYXBzaG90IjsKKwkJCWVsc2UKKwkJCQljb25mbGljdF9t ZXNzYWdlID0gInJlY292ZXJ5IGlzIHJlc29sdmluZyByZWNvdmVyeSBjb25mbGljdCBvbiBz bmFwc2hvdCI7CisJCQlicmVhazsKKwkJY2FzZSBQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNU X1NUQVJUVVBfREVBRExPQ0s6CisJCQlpZiAod2FpdGluZykKKwkJCQljb25mbGljdF9tZXNz YWdlID0gInJlY292ZXJ5IGlzIHdhaXRpbmcgcmVjb3ZlcnkgY29uZmxpY3Qgb24gZGVhZGxv Y2siOworCQkJZWxzZQorCQkJCWNvbmZsaWN0X21lc3NhZ2UgPSAicmVjb3ZlcnkgaXMgcmVz b2x2aW5nIHJlY292ZXJ5IGNvbmZsaWN0IG9uIGRlYWRsb2NrIjsKKwkJCWJyZWFrOworCQlj YXNlIFBST0NTSUdfUkVDT1ZFUllfQ09ORkxJQ1RfREFUQUJBU0U6CisJCQlpZiAod2FpdGlu ZykKKwkJCQljb25mbGljdF9tZXNzYWdlID0gInJlY292ZXJ5IGlzIHdhaXRpbmcgcmVjb3Zl cnkgY29uZmxpY3Qgb24gZGF0YWJhc2UiOworCQkJZWxzZQorCQkJCWNvbmZsaWN0X21lc3Nh Z2UgPSAicmVjb3ZlcnkgaXMgcmVzb2x2aW5nIHJlY292ZXJ5IGNvbmZsaWN0IG9uIGRhdGFi YXNlIjsKKwkJCWJyZWFrOworCQljYXNlIFBST0NTSUdfQ0FUQ0hVUF9JTlRFUlJVUFQ6CisJ CWNhc2UgUFJPQ1NJR19OT1RJRllfSU5URVJSVVBUOgorCQljYXNlIFBST0NTSUdfUEFSQUxM RUxfTUVTU0FHRToKKwkJY2FzZSBQUk9DU0lHX1dBTFNORF9JTklUX1NUT1BQSU5HOgorCQlj YXNlIE5VTV9QUk9DU0lHTkFMUzoKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7 CisJfQorCXJldHVybiBjb25mbGljdF9tZXNzYWdlOworfQpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMv c3RhbmRieS5jCmluZGV4IDUyYjI4MDlkYWMuLjY4MDBlYjBjMTEgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYworKysgYi9zcmMvYmFja2VuZC9zdG9y YWdlL2lwYy9zdGFuZGJ5LmMKQEAgLTM5LDYgKzM5LDcgQEAKIGludAkJCXZhY3V1bV9kZWZl cl9jbGVhbnVwX2FnZTsKIGludAkJCW1heF9zdGFuZGJ5X2FyY2hpdmVfZGVsYXkgPSAzMCAq IDEwMDA7CiBpbnQJCQltYXhfc3RhbmRieV9zdHJlYW1pbmdfZGVsYXkgPSAzMCAqIDEwMDA7 Citib29sCQkJbG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRzID0gZmFsc2U7CiAKIHN0YXRp YyBIVEFCICpSZWNvdmVyeUxvY2tMaXN0czsKIApAQCAtMjE1LDYgKzIxNiw0OCBAQCBXYWl0 RXhjZWVkc01heFN0YW5kYnlEZWxheSh1aW50MzIgd2FpdF9ldmVudF9pbmZvKQogCXJldHVy biBmYWxzZTsKIH0KIAorLyoKKyAqIExvZyB0aGUgcmVjb3ZlcnkgY29uZmxpY3QKKyAqLwor dm9pZAorTG9nUmVjb3ZlcnlDb25mbGljdChWaXJ0dWFsVHJhbnNhY3Rpb25JZCAqd2FpdGxp c3QsIFByb2NTaWduYWxSZWFzb24gcmVhc29uLCBib29sIHdhaXRpbmcpCit7CisJaWYgKHdh aXRsaXN0ICYmIHdhaXRpbmcpCisJeworCQlWaXJ0dWFsVHJhbnNhY3Rpb25JZCAqdnhpZHM7 CisJCVN0cmluZ0luZm9EYXRhIGJ1ZjsKKwkJaW50IGNvdW50OworCisJCWNvdW50ID0gMDsK KwkJdnhpZHMgPSB3YWl0bGlzdDsKKwkJaW5pdFN0cmluZ0luZm8oJmJ1Zik7CisKKwkJd2hp bGUgKFZpcnR1YWxUcmFuc2FjdGlvbklkSXNWYWxpZCgqdnhpZHMpKQorCQl7CisJCQljb3Vu dCsrOworCQkJaWYgKGNvdW50ID4gMSkKKwkJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWYsICIs ICIpOworCisJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWYsICIlZC8ldSIsIHZ4aWRzLT5iYWNr ZW5kSWQsCisJCQkJCQl2eGlkcy0+bG9jYWxUcmFuc2FjdGlvbklkKTsKKwkJCXZ4aWRzKys7 CisJCX0KKwkJZXJlcG9ydChMT0csCisJCQkoZXJybXNnKCIlcyIsCisJCQkJZ2V0X3JlY292 ZXJ5X2NvbmZsaWN0X21lc3NhZ2UocmVhc29uLCB3YWl0aW5nKSksCisJCQkoZXJyZGV0YWls X2xvZ19wbHVyYWwoIkNvbmZsaWN0aW5nIHZpcnR1YWwgdHJhbnNhY3Rpb24gaWQ6ICVzLiIs CisJCQkJCQkiQ29uZmxpY3RpbmcgdmlydHVhbCB0cmFuc2FjdGlvbiBpZHM6ICVzLiIsCisJ CQkJCQljb3VudCwgYnVmLmRhdGEpKSkpOworCQlwZnJlZShidWYuZGF0YSk7CisJfQorCWVs c2UgaWYgKCF3YWl0bGlzdCkKKwl7CisJCWVyZXBvcnQoTE9HLAorCQkJKGVycm1zZygiJXMi LAorCQkJZ2V0X3JlY292ZXJ5X2NvbmZsaWN0X21lc3NhZ2UocmVhc29uLCB3YWl0aW5nKSkp KTsKKwl9Cit9CisKIC8qCiAgKiBUaGlzIGlzIHRoZSBtYWluIGV4ZWN1dGlvbmVyIGZvciBh bnkgcXVlcnkgYmFja2VuZCB0aGF0IGNvbmZsaWN0cyB3aXRoCiAgKiByZWNvdmVyeSBwcm9j ZXNzaW5nLiBKdWRnZW1lbnQgaGFzIGFscmVhZHkgYmVlbiBwYXNzZWQgb24gaXQgd2l0aGlu CkBAIC0yMzIsNiArMjc1LDcgQEAgUmVzb2x2ZVJlY292ZXJ5Q29uZmxpY3RXaXRoVmlydHVh bFhJRHMoVmlydHVhbFRyYW5zYWN0aW9uSWQgKndhaXRsaXN0LAogewogCVRpbWVzdGFtcFR6 IHdhaXRTdGFydCA9IDA7CiAJY2hhcgkgICAqbmV3X3N0YXR1czsKKwlib29sIGxvZ2dlZCA9 IGZhbHNlOwogCiAJLyogRmFzdCBleGl0LCB0byBhdm9pZCBhIGtlcm5lbCBjYWxsIGlmIHRo ZXJlJ3Mgbm8gd29yayB0byBiZSBkb25lLiAqLwogCWlmICghVmlydHVhbFRyYW5zYWN0aW9u SWRJc1ZhbGlkKCp3YWl0bGlzdCkpCkBAIC0yNDksNiArMjkzLDE0IEBAIFJlc29sdmVSZWNv dmVyeUNvbmZsaWN0V2l0aFZpcnR1YWxYSURzKFZpcnR1YWxUcmFuc2FjdGlvbklkICp3YWl0 bGlzdCwKIAkJLyogd2FpdCB1bnRpbCB0aGUgdmlydHVhbCB4aWQgaXMgZ29uZSAqLwogCQl3 aGlsZSAoIVZpcnR1YWxYYWN0TG9jaygqd2FpdGxpc3QsIGZhbHNlKSkKIAkJeworCQkJLyog TG9nIHRoZSByZWNvdmVyeSBjb25mbGljdCAqLworCQkJaWYgKGxvZ19yZWNvdmVyeV9jb25m bGljdF93YWl0cyAmJiAhbG9nZ2VkCisJCQkJCSYmIFRpbWVzdGFtcERpZmZlcmVuY2VFeGNl ZWRzKHdhaXRTdGFydCwKKwkJCQkJCQlHZXRDdXJyZW50VGltZXN0YW1wKCksIERlYWRsb2Nr VGltZW91dCkpCisJCQl7CisJCQkJTG9nUmVjb3ZlcnlDb25mbGljdCh3YWl0bGlzdCwgcmVh c29uLCByZXBvcnRfd2FpdGluZyk7CisJCQkJbG9nZ2VkID0gdHJ1ZTsKKwkJCX0KIAkJCS8q CiAJCQkgKiBSZXBvcnQgdmlhIHBzIGlmIHdlIGhhdmUgYmVlbiB3YWl0aW5nIGZvciBtb3Jl IHRoYW4gNTAwIG1zZWMKIAkJCSAqIChzaG91bGQgdGhhdCBiZSBjb25maWd1cmFibGU/KQpA QCAtMzcwLDYgKzQyMiwxMSBAQCBSZXNvbHZlUmVjb3ZlcnlDb25mbGljdFdpdGhEYXRhYmFz ZShPaWQgZGJpZCkKIAkgKiBibG9jayBkdXJpbmcgSW5pdFBvc3RncmVzKCkgYW5kIHRoZW4g ZGlzY29ubmVjdCB3aGVuIHRoZXkgc2VlIHRoZQogCSAqIGRhdGFiYXNlIGhhcyBiZWVuIHJl bW92ZWQuCiAJICovCisKKwkvKiBMb2cgdGhlIHJlY292ZXJ5IGNvbmZsaWN0ICovCisJaWYg KGxvZ19yZWNvdmVyeV9jb25mbGljdF93YWl0cykKKwkJTG9nUmVjb3ZlcnlDb25mbGljdChO VUxMLCBQUk9DU0lHX1JFQ09WRVJZX0NPTkZMSUNUX0RBVEFCQVNFLCBmYWxzZSk7CisKIAl3 aGlsZSAoQ291bnREQkJhY2tlbmRzKGRiaWQpID4gMCkKIAl7CiAJCUNhbmNlbERCQmFja2Vu ZHMoZGJpZCwgUFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVF9EQVRBQkFTRSwgdHJ1ZSk7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jIGIvc3JjL2JhY2tl bmQvc3RvcmFnZS9sbWdyL3Byb2MuYwppbmRleCA4ODU2NmJkOWZhLi44Y2JkM2IzOWEzIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jCisrKyBiL3NyYy9i YWNrZW5kL3N0b3JhZ2UvbG1nci9wcm9jLmMKQEAgLTEwNjksNiArMTA2OSw3IEBAIFByb2NT bGVlcChMT0NBTExPQ0sgKmxvY2FsbG9jaywgTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUp CiAJUEdQUk9DCSAgICpwcm9jOwogCVBHUFJPQwkgICAqbGVhZGVyID0gTXlQcm9jLT5sb2Nr R3JvdXBMZWFkZXI7CiAJaW50CQkJaTsKKwlib29sIGxvZ2dlZDsKIAogCS8qCiAJICogSWYg Z3JvdXAgbG9ja2luZyBpcyBpbiB1c2UsIGxvY2tzIGhlbGQgYnkgbWVtYmVycyBvZiBteSBs b2NraW5nIGdyb3VwCkBAIC0xMjc1LDExICsxMjc2LDE5IEBAIFByb2NTbGVlcChMT0NBTExP Q0sgKmxvY2FsbG9jaywgTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUpCiAJICogdGltZW91 dCBhbmQgdXBkYXRpbmcgdGhlIGxvY2FsbG9jayB0YWJsZSwgYnV0IGlmIHdlIGxvc2UgY29u dHJvbCB0byBhbgogCSAqIGVycm9yLCBMb2NrRXJyb3JDbGVhbnVwIHdpbGwgZml4IHRoYXQg dXAuCiAJICovCisJbG9nZ2VkID0gZmFsc2U7CiAJZG8KIAl7CiAJCWlmIChJbkhvdFN0YW5k YnkpCiAJCXsKIAkJCS8qIFNldCBhIHRpbWVyIGFuZCB3YWl0IGZvciB0aGF0IG9yIGZvciB0 aGUgTG9jayB0byBiZSBncmFudGVkICovCisJCQlWaXJ0dWFsVHJhbnNhY3Rpb25JZCAqYmFj a2VuZHM7CisJCQliYWNrZW5kcyA9IEdldExvY2tDb25mbGljdHMoJmxvY2FsbG9jay0+dGFn LmxvY2ssIEFjY2Vzc0V4Y2x1c2l2ZUxvY2ssIE5VTEwpOworCQkJaWYgKGxvZ19yZWNvdmVy eV9jb25mbGljdF93YWl0cyAmJiAhbG9nZ2VkKSB7CisJCQkJTG9nUmVjb3ZlcnlDb25mbGlj dChiYWNrZW5kcywgUFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVF9MT0NLLCB0cnVlKTsKKwkJ CQlsb2dnZWQgPSB0cnVlOworCQkJfQorCiAJCQlSZXNvbHZlUmVjb3ZlcnlDb25mbGljdFdp dGhMb2NrKGxvY2FsbG9jay0+dGFnLmxvY2spOwogCQl9CiAJCWVsc2UKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNj L2d1Yy5jCmluZGV4IDU5NmJjYjdiODQuLmU5NGFhNzk0MTggMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9n dWMuYwpAQCAtMTU3MCw3ICsxNTcwLDE1IEBAIHN0YXRpYyBzdHJ1Y3QgY29uZmlnX2Jvb2wg Q29uZmlndXJlTmFtZXNCb29sW10gPQogCQlmYWxzZSwKIAkJTlVMTCwgTlVMTCwgTlVMTAog CX0sCi0KKwl7CisJCXsibG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRzIiwgUEdDX1NJR0hV UCwgTE9HR0lOR19XSEFULAorCQkJZ2V0dGV4dF9ub29wKCJMb2dzIHN0YW5kYnkgcmVjb3Zl cnkgY29uZmxpY3RzIHJlc29sdXRpb24uIiksCisJCQlOVUxMCisJCX0sCisJCSZsb2dfcmVj b3ZlcnlfY29uZmxpY3Rfd2FpdHMsCisJCWZhbHNlLAorCQlOVUxMLCBOVUxMLCBOVUxMCisJ fSwKIAl7CiAJCXsibG9nX2hvc3RuYW1lIiwgUEdDX1NJR0hVUCwgTE9HR0lOR19XSEFULAog CQkJZ2V0dGV4dF9ub29wKCJMb2dzIHRoZSBob3N0IG5hbWUgaW4gdGhlIGNvbm5lY3Rpb24g bG9ncy4iKSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNx bC5jb25mLnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25m LnNhbXBsZQppbmRleCA5Y2I1NzFmN2NjLi5jMmUxYWY3MTRkIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCkBAIC01NTMsNiArNTUz LDcgQEAKIAkJCQkJIyAgICUlID0gJyUnCiAJCQkJCSMgZS5nLiAnPCV1JSUlZD4gJwogI2xv Z19sb2NrX3dhaXRzID0gb2ZmCQkJIyBsb2cgbG9jayB3YWl0cyA+PSBkZWFkbG9ja190aW1l b3V0CisjbG9nX3JlY292ZXJ5X2NvbmZsaWN0X3dhaXRzID0gb2ZmCSMgbG9nIHN0YW5kYnkg cmVjb3ZlcnkgY29uZmxpY3RzCiAjbG9nX3BhcmFtZXRlcl9tYXhfbGVuZ3RoID0gLTEJCSMg d2hlbiBsb2dnaW5nIHN0YXRlbWVudHMsIGxpbWl0IGxvZ2dlZAogCQkJCQkjIGJpbmQtcGFy YW1ldGVyIHZhbHVlcyB0byBOIGJ5dGVzOwogCQkJCQkjIC0xIG1lYW5zIHByaW50IGluIGZ1 bGwsIDAgZGlzYWJsZXMKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvY3Np Z25hbC5oIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jc2lnbmFsLmgKaW5kZXggNWNiMzk2 OTdmMy4uY2Y5MDM4NTBjNCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9j c2lnbmFsLmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jc2lnbmFsLmgKQEAgLTcx LDUgKzcxLDYgQEAgZXh0ZXJuIHZvaWQgV2FpdEZvclByb2NTaWduYWxCYXJyaWVyKHVpbnQ2 NCBnZW5lcmF0aW9uKTsKIGV4dGVybiB2b2lkIFByb2Nlc3NQcm9jU2lnbmFsQmFycmllcih2 b2lkKTsKIAogZXh0ZXJuIHZvaWQgcHJvY3NpZ25hbF9zaWd1c3IxX2hhbmRsZXIoU0lHTkFM X0FSR1MpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9yZWNvdmVyeV9jb25mbGljdF9tZXNz YWdlKFByb2NTaWduYWxSZWFzb24gcmVhc29uLCBib29sIHdhaXRpbmcpOwogCiAjZW5kaWYJ CQkJCQkJLyogUFJPQ1NJR05BTF9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9zdG9y YWdlL3N0YW5kYnkuaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc3RhbmRieS5oCmluZGV4IGZh YWYxZDM4MTcuLjhlM2IwMmY3YmUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2Uv c3RhbmRieS5oCisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc3RhbmRieS5oCkBAIC0yMyw2 ICsyMyw3IEBACiBleHRlcm4gaW50CXZhY3V1bV9kZWZlcl9jbGVhbnVwX2FnZTsKIGV4dGVy biBpbnQJbWF4X3N0YW5kYnlfYXJjaGl2ZV9kZWxheTsKIGV4dGVybiBpbnQJbWF4X3N0YW5k Ynlfc3RyZWFtaW5nX2RlbGF5OworZXh0ZXJuIGJvb2wJbG9nX3JlY292ZXJ5X2NvbmZsaWN0 X3dhaXRzOwogCiBleHRlcm4gdm9pZCBJbml0UmVjb3ZlcnlUcmFuc2FjdGlvbkVudmlyb25t ZW50KHZvaWQpOwogZXh0ZXJuIHZvaWQgU2h1dGRvd25SZWNvdmVyeVRyYW5zYWN0aW9uRW52 aXJvbm1lbnQodm9pZCk7CkBAIC0zOCw2ICszOSw3IEBAIGV4dGVybiB2b2lkIENoZWNrUmVj b3ZlcnlDb25mbGljdERlYWRsb2NrKHZvaWQpOwogZXh0ZXJuIHZvaWQgU3RhbmRieURlYWRM b2NrSGFuZGxlcih2b2lkKTsKIGV4dGVybiB2b2lkIFN0YW5kYnlUaW1lb3V0SGFuZGxlcih2 b2lkKTsKIGV4dGVybiB2b2lkIFN0YW5kYnlMb2NrVGltZW91dEhhbmRsZXIodm9pZCk7Citl eHRlcm4gdm9pZCBMb2dSZWNvdmVyeUNvbmZsaWN0KFZpcnR1YWxUcmFuc2FjdGlvbklkICp3 YWl0bGlzdCwgUHJvY1NpZ25hbFJlYXNvbiByZWFzb24sIGJvb2wgd2FpdGluZyk7CiAKIC8q CiAgKiBTdGFuZGJ5IFJtZ3IgKFJNX1NUQU5EQllfSUQpCg== --------------E015E8BDE87D6E8EC8B2E65D--