Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sjMR0-00021E-MT for pgsql-hackers@arkaria.postgresql.org; Wed, 28 Aug 2024 17:26:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sjMQy-008IHG-MQ for pgsql-hackers@arkaria.postgresql.org; Wed, 28 Aug 2024 17:26:17 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sjMQx-008IH8-W9 for pgsql-hackers@lists.postgresql.org; Wed, 28 Aug 2024 17:26:16 +0000 Received: from lahtoruutu.iki.fi ([2a0b:5c81:1c1::37]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sjMQu-001sWX-0H for pgsql-hackers@postgresql.org; Wed, 28 Aug 2024 17:26:15 +0000 Received: from [192.168.1.144] (dsl-hkibng22-54f8db-125.dhcp.inet.fi [84.248.219.125]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: hlinnaka) by lahtoruutu.iki.fi (Postfix) with ESMTPSA id 4WvBCM12WMz49PsK; Wed, 28 Aug 2024 20:26:07 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1724865967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QA21iF39mtJR4YDKmgjnP5qrt6R99FDHRI2OeJmi9+s=; b=UeLI3BpgFk8acYBrDUKc0mCkU3hYLRKZhcKRDL6KmhsOv/1gVCsQ7UurKjRCTUu5uZ/HD6 TIeQVe7HXhIL3zjQtJA50DQlyZgcbCU58wPwCyG+NeNRvGE6ofP0KTA5nrtADHoSEksjXW zbjpCagvp03MutfmTtRmxCmw+AnmY6DET3iZ4SX1Lf+pJslwsXSvE2Mo1IBkzjWVhqt5FV IEZwuft53wiXiyAymD5BihmkQDuJb+awHoD6siyoJyMVY96pMsT2MAC4nVSNfj59/O5Ee6 dnzxE+GMRjOWulxwqZnvJPDhAqRx5QapXTd0CWxn2Zz9C+VI8WHNLdG1KOBu4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=iki.fi; s=lahtoruutu; t=1724865967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QA21iF39mtJR4YDKmgjnP5qrt6R99FDHRI2OeJmi9+s=; b=k/y8s9oO41NfMf/RQlOCYYJHugZ3q2pYGrUaKYy3pTPwWEYxhairWaMtAgSu5tziH53vnq iJ3vwJPBs6JauDKLeelVTx4LUqZAfXkDV8AjeBGj+AyQ01PV2jSSJ+s4g2fscmm3j9bkyM 8RiI8kHjLa3KMPrhvXF5H5YXauL1Aald7opkucYUiIn2ALwfHPxPGGCuXXp8MCwFBZPCBQ KgX5B29eY+YgAxLoYiHVe1uM0AZvUPJR65gbSfctIXoN2/JLShVMuV2k3Lldo0b8hF4/GN FUqUOBPQQCx7rLFMm+Lrlc956X4UC5htS/jP2yXCtrt4ecNfVEhKSSIN18mWwA== ARC-Authentication-Results: i=1; ORIGINATING; auth=pass smtp.auth=hlinnaka smtp.mailfrom=hlinnaka@iki.fi ARC-Seal: i=1; s=lahtoruutu; d=iki.fi; t=1724865967; a=rsa-sha256; cv=none; b=JeQC7cH4bT765XSvGp4PNXFg+x+dh2uNmyM6OOLt0cWKZSxkNmK6kGVvO6WlodmHW2snDR feg7q6n5g8/4a0mORPe22lYsc+WfvUylRUg7aq9rh3hLpK3rw8qwPgiRzT3FH0ZQLDmqd2 G7vjbfwx9VKvbwNp4EGJ23734Rp4K5Z9McY+jt+3cdjd6pQJZVw6eX7n2Ndy/LSOBCQqUR Wlhews5HwAff6tgkfDYFZPL21OibvVgWobrBxzhFGxTJs6eSa26rLmyN0N4e79gFBOEw9U jnjPmWc7YKoa+dv4V4VM/IFrDW3E2zEYsYA81PjoA5AslWV1vL/p65v9AWv5+A== Content-Type: multipart/mixed; boundary="------------TwGjrGwQxpORbnMkM0EFpwBO" Message-ID: Date: Wed, 28 Aug 2024 20:26:06 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Little cleanup of ShmemInit function names To: Andreas Karlsson , "pgsql-hackers@postgresql.org" References: <93804d18-9e49-46b6-abc8-de9694f34d0a@proxel.se> Content-Language: en-US From: Heikki Linnakangas In-Reply-To: <93804d18-9e49-46b6-abc8-de9694f34d0a@proxel.se> 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. --------------TwGjrGwQxpORbnMkM0EFpwBO Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 28/08/2024 18:26, Andreas Karlsson wrote: > On 8/7/24 2:08 PM, Heikki Linnakangas wrote: >> The attached patches rename them to follow the usual naming convention. >> The InitLocks() function is refactored a bit more, splitting the >> per-backend initialization to a separate InitLockManagerAccess() >> function. That's why it's in a separate commit. > > I like the idea behind the patches. And they still apply and build. > > The first patch is clean and well commented. I just have two minor nitpicks. > > Small typo with the extra "which" which makes the sentence not flow > correctly > > "This is called from CreateSharedMemoryAndSemaphores(), which see for > more comments." Hmm, I don't see the issue. It's an uncommon sentence structure, but it was there before this patch, and it's correct AFAICS. If you grep for "which see ", you'll find some more examples of that. > On the topic of minor language issues I think the comma below is redundant. > > "In the normal postmaster case, the shared hash tables are created here." On second thoughts, I rearranged the sentences in the paragraph a little, see attached. > The second patch is a simple renaming which reduces mental load by > making the naming more consistent so I like it. Also since these > functions are not really useful for any extension authors I do not see > any harm in renaming them. > > After cleaning up the language of that comment I think these patches can > be committed. Thanks for the review! -- Heikki Linnakangas Neon (https://neon.tech) --------------TwGjrGwQxpORbnMkM0EFpwBO Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-Refactor-lock-manager-initialization-to-make-it-a.patch" Content-Disposition: attachment; filename*0="v2-0001-Refactor-lock-manager-initialization-to-make-it-a.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAzMzdiMzZjYzgyMGQxOWRkNjI2YWQ0OTkzMGUxNmI4YmM3ZGJmNjE5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWlra2kgTGlubmFrYW5nYXMgPGhlaWtraS5saW5u YWthbmdhc0Bpa2kuZmk+CkRhdGU6IFdlZCwgMjggQXVnIDIwMjQgMjA6MTk6MjAgKzAzMDAK U3ViamVjdDogW1BBVENIIHYyIDEvMl0gUmVmYWN0b3IgbG9jayBtYW5hZ2VyIGluaXRpYWxp emF0aW9uIHRvIG1ha2UgaXQgYSBiaXQKIGxlc3Mgc3BlY2lhbAoKU3BsaXQgdGhlIHNoYXJl ZCBhbmQgbG9jYWwgaW5pdGlhbGl6YXRpb24gdG8gc2VwYXJhdGUgZnVuY3Rpb25zLCBhbmQK Zm9sbG93IHRoZSBjb21tb24gbmFtaW5nIGNvbnZlbnRpb25zLiBXaXRoIHRoaXMsIHdlIG5v IGxvbmdlciBjcmVhdGUKdGhlIExvY2tNZXRob2RMb2NhbEhhc2ggaGFzaCB0YWJsZSBpbiB0 aGUgcG9zdG1hc3RlciBwcm9jZXNzLCB3aGljaAp3YXMgYWx3YXlzIHBvaW50bGVzcy4KClJl dmlld2VkLWJ5OiBBbmRyZWFzIEthcmxzc29uCkRpc2N1c3Npb246IGh0dHBzOi8vd3d3LnBv c3RncmVzcWwub3JnL21lc3NhZ2UtaWQvYzA5Njk0ZmYtMjQ1My00N2U1LWIyNmMtMzJhMTZj ZDc1Y2U2QGlraS5maQotLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYyAgICB8 ICA0ICsrLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9sb2NrLmMgICB8IDM1ICsrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2luaXQvcG9z dGluaXQuYyB8ICAzICsrKwogc3JjL2luY2x1ZGUvc3RvcmFnZS9sb2NrLmggICAgICAgIHwg IDUgKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jIGIv c3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jCmluZGV4IDM1ZmEyZTFkZGEuLjhmOGE4 OTEyNGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYworKysg Yi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9pcGNpLmMKQEAgLTExNiw3ICsxMTYsNyBAQCBD YWxjdWxhdGVTaG1lbVNpemUoaW50ICpudW1fc2VtYXBob3JlcykKIAlzaXplID0gYWRkX3Np emUoc2l6ZSwgZHNtX2VzdGltYXRlX3NpemUoKSk7CiAJc2l6ZSA9IGFkZF9zaXplKHNpemUs IERTTVJlZ2lzdHJ5U2htZW1TaXplKCkpOwogCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCdWZm ZXJTaG1lbVNpemUoKSk7Ci0Jc2l6ZSA9IGFkZF9zaXplKHNpemUsIExvY2tTaG1lbVNpemUo KSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIExvY2tNYW5hZ2VyU2htZW1TaXplKCkpOwog CXNpemUgPSBhZGRfc2l6ZShzaXplLCBQcmVkaWNhdGVMb2NrU2htZW1TaXplKCkpOwogCXNp emUgPSBhZGRfc2l6ZShzaXplLCBQcm9jR2xvYmFsU2htZW1TaXplKCkpOwogCXNpemUgPSBh ZGRfc2l6ZShzaXplLCBYTG9nUHJlZmV0Y2hTaG1lbVNpemUoKSk7CkBAIC0yOTEsNyArMjkx LDcgQEAgQ3JlYXRlT3JBdHRhY2hTaG1lbVN0cnVjdHModm9pZCkKIAkvKgogCSAqIFNldCB1 cCBsb2NrIG1hbmFnZXIKIAkgKi8KLQlJbml0TG9ja3MoKTsKKwlMb2NrTWFuYWdlclNobWVt SW5pdCgpOwogCiAJLyoKIAkgKiBTZXQgdXAgcHJlZGljYXRlIGxvY2sgbWFuYWdlcgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL2xvY2suYyBiL3NyYy9iYWNrZW5k L3N0b3JhZ2UvbG1nci9sb2NrLmMKaW5kZXggMDQwMGE1MDc3Ny4uNmRiYzQxZGFlNyAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL2xvY2suYworKysgYi9zcmMvYmFj a2VuZC9zdG9yYWdlL2xtZ3IvbG9jay5jCkBAIC0zNzcsMTkgKzM3NywxNyBAQCBzdGF0aWMg dm9pZCBHZXRTaW5nbGVQcm9jQmxvY2tlclN0YXR1c0RhdGEoUEdQUk9DICpibG9ja2VkX3By b2MsCiAKIAogLyoKLSAqIEluaXRMb2NrcyAtLSBJbml0aWFsaXplIHRoZSBsb2NrIG1hbmFn ZXIncyBkYXRhIHN0cnVjdHVyZXMuCisgKiBJbml0aWFsaXplIHRoZSBsb2NrIG1hbmFnZXIn cyBzaG1lbSBkYXRhIHN0cnVjdHVyZXMuCiAgKgotICogVGhpcyBpcyBjYWxsZWQgZnJvbSBD cmVhdGVTaGFyZWRNZW1vcnlBbmRTZW1hcGhvcmVzKCksIHdoaWNoIHNlZSBmb3IKLSAqIG1v cmUgY29tbWVudHMuICBJbiB0aGUgbm9ybWFsIHBvc3RtYXN0ZXIgY2FzZSwgdGhlIHNoYXJl ZCBoYXNoIHRhYmxlcwotICogYXJlIGNyZWF0ZWQgaGVyZSwgYXMgd2VsbCBhcyBhIGxvY2Fs bG9jayBoYXNoIHRhYmxlIHRoYXQgd2lsbCByZW1haW4KLSAqIHVudXNlZCBhbmQgZW1wdHkg aW4gdGhlIHBvc3RtYXN0ZXIgaXRzZWxmLiAgQmFja2VuZHMgaW5oZXJpdCB0aGUgcG9pbnRl cnMKLSAqIHRvIHRoZSBzaGFyZWQgdGFibGVzIHZpYSBmb3JrKCksIGFuZCBhbHNvIGluaGVy aXQgYW4gaW1hZ2Ugb2YgdGhlIGxvY2FsbG9jawotICogaGFzaCB0YWJsZSwgd2hpY2ggdGhl eSBwcm9jZWVkIHRvIHVzZS4gIEluIHRoZSBFWEVDX0JBQ0tFTkQgY2FzZSwgZWFjaAotICog YmFja2VuZCByZS1leGVjdXRlcyB0aGlzIGNvZGUgdG8gb2J0YWluIHBvaW50ZXJzIHRvIHRo ZSBhbHJlYWR5IGV4aXN0aW5nCi0gKiBzaGFyZWQgaGFzaCB0YWJsZXMgYW5kIHRvIGNyZWF0 ZSBpdHMgbG9jYWxsb2NrIGhhc2ggdGFibGUuCisgKiBUaGlzIGlzIGNhbGxlZCBmcm9tIENy ZWF0ZVNoYXJlZE1lbW9yeUFuZFNlbWFwaG9yZXMoKSwgd2hpY2ggc2VlIGZvciBtb3JlCisg KiBjb21tZW50cy4gIEluIHRoZSBub3JtYWwgcG9zdG1hc3RlciBjYXNlLCB0aGUgc2hhcmVk IGhhc2ggdGFibGVzIGFyZQorICogY3JlYXRlZCBoZXJlLCBhbmQgYmFja2VuZHMgaW5oZXJp dCBwb2ludGVycyB0byB0aGVtIHZpYSBmb3JrKCkuICBJbiB0aGUKKyAqIEVYRUNfQkFDS0VO RCBjYXNlLCBlYWNoIGJhY2tlbmQgcmUtZXhlY3V0ZXMgdGhpcyBjb2RlIHRvIG9idGFpbiBw b2ludGVycyB0bworICogdGhlIGFscmVhZHkgZXhpc3Rpbmcgc2hhcmVkIGhhc2ggdGFibGVz LiAgSW4gZWl0aGVyIGNhc2UsIGVhY2ggYmFja2VuZCBtdXN0CisgKiBhbHNvIGNhbGwgSW5p dExvY2tNYW5hZ2VyQWNjZXNzKCkgdG8gY3JlYXRlIHRoZSBsb2NhbGxvY2sgaGFzaCB0YWJs ZS4KICAqLwogdm9pZAotSW5pdExvY2tzKHZvaWQpCitMb2NrTWFuYWdlclNobWVtSW5pdCh2 b2lkKQogewogCUhBU0hDVEwJCWluZm87CiAJbG9uZwkJaW5pdF90YWJsZV9zaXplLApAQCAt NDQ0LDE4ICs0NDIsMTkgQEAgSW5pdExvY2tzKHZvaWQpCiAJCQkJCQlzaXplb2YoRmFzdFBh dGhTdHJvbmdSZWxhdGlvbkxvY2tEYXRhKSwgJmZvdW5kKTsKIAlpZiAoIWZvdW5kKQogCQlT cGluTG9ja0luaXQoJkZhc3RQYXRoU3Ryb25nUmVsYXRpb25Mb2Nrcy0+bXV0ZXgpOworfQog CisvKgorICogSW5pdGlhbGl6ZSB0aGUgbG9jayBtYW5hZ2VyJ3MgYmFja2VuZC1wcml2YXRl IGRhdGEgc3RydWN0dXJlcy4KKyAqLwordm9pZAorSW5pdExvY2tNYW5hZ2VyQWNjZXNzKHZv aWQpCit7CiAJLyoKIAkgKiBBbGxvY2F0ZSBub24tc2hhcmVkIGhhc2ggdGFibGUgZm9yIExP Q0FMTE9DSyBzdHJ1Y3RzLiAgVGhpcyBzdG9yZXMgbG9jawogCSAqIGNvdW50cyBhbmQgcmVz b3VyY2Ugb3duZXIgaW5mb3JtYXRpb24uCi0JICoKLQkgKiBUaGUgbm9uLXNoYXJlZCB0YWJs ZSBjb3VsZCBhbHJlYWR5IGV4aXN0IGluIHRoaXMgcHJvY2VzcyAodGhpcyBvY2N1cnMKLQkg KiB3aGVuIHRoZSBwb3N0bWFzdGVyIGlzIHJlY3JlYXRpbmcgc2hhcmVkIG1lbW9yeSBhZnRl ciBhIGJhY2tlbmQgY3Jhc2gpLgotCSAqIElmIHNvLCBkZWxldGUgYW5kIHJlY3JlYXRlIGl0 LiAgKFdlIGNvdWxkIHNpbXBseSBsZWF2ZSBpdCwgc2luY2UgaXQKLQkgKiBvdWdodCB0byBi ZSBlbXB0eSBpbiB0aGUgcG9zdG1hc3RlciwgYnV0IGZvciBzYWZldHkgbGV0J3MgemFwIGl0 LikKIAkgKi8KLQlpZiAoTG9ja01ldGhvZExvY2FsSGFzaCkKLQkJaGFzaF9kZXN0cm95KExv Y2tNZXRob2RMb2NhbEhhc2gpOworCUhBU0hDVEwJCWluZm87CiAKIAlpbmZvLmtleXNpemUg PSBzaXplb2YoTE9DQUxMT0NLVEFHKTsKIAlpbmZvLmVudHJ5c2l6ZSA9IHNpemVvZihMT0NB TExPQ0spOwpAQCAtMzU3MSw3ICszNTcwLDcgQEAgUG9zdFByZXBhcmVfTG9ja3MoVHJhbnNh Y3Rpb25JZCB4aWQpCiAgKiBFc3RpbWF0ZSBzaGFyZWQtbWVtb3J5IHNwYWNlIHVzZWQgZm9y IGxvY2sgdGFibGVzCiAgKi8KIFNpemUKLUxvY2tTaG1lbVNpemUodm9pZCkKK0xvY2tNYW5h Z2VyU2htZW1TaXplKHZvaWQpCiB7CiAJU2l6ZQkJc2l6ZSA9IDA7CiAJbG9uZwkJbWF4X3Rh YmxlX3NpemU7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0 LmMgYi9zcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMKaW5kZXggMTM1MjRlYTQ4 OC4uMDRhNDdkNmU3MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9wb3N0 aW5pdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2luaXQvcG9zdGluaXQuYwpAQCAtNjA2 LDYgKzYwNiw5IEBAIEJhc2VJbml0KHZvaWQpCiAJICovCiAJSW5pdFhMb2dJbnNlcnQoKTsK IAorCS8qIEluaXRpYWxpemUgbG9jayBtYW5hZ2VyJ3MgbG9jYWwgc3RydWN0cyAqLworCUlu aXRMb2NrTWFuYWdlckFjY2VzcygpOworCiAJLyoKIAkgKiBJbml0aWFsaXplIHJlcGxpY2F0 aW9uIHNsb3RzIGFmdGVyIHBnc3RhdC4gVGhlIGV4aXQgaG9vayBtaWdodCBuZWVkIHRvCiAJ ICogZHJvcCBlcGhlbWVyYWwgc2xvdHMsIHdoaWNoIGluIHR1cm4gdHJpZ2dlcnMgc3RhdHMg cmVwb3J0aW5nLgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9sb2NrLmggYi9z cmMvaW5jbHVkZS9zdG9yYWdlL2xvY2suaAppbmRleCBjYzFmNmU3OGMzLi44YjMyOGEwNmQ5 IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2xvY2suaAorKysgYi9zcmMvaW5j bHVkZS9zdG9yYWdlL2xvY2suaApAQCAtNTQ0LDcgKzU0NCw5IEBAIHR5cGVkZWYgZW51bQog LyoKICAqIGZ1bmN0aW9uIHByb3RvdHlwZXMKICAqLwotZXh0ZXJuIHZvaWQgSW5pdExvY2tz KHZvaWQpOworZXh0ZXJuIHZvaWQgTG9ja01hbmFnZXJTaG1lbUluaXQodm9pZCk7CitleHRl cm4gU2l6ZSBMb2NrTWFuYWdlclNobWVtU2l6ZSh2b2lkKTsKK2V4dGVybiB2b2lkIEluaXRM b2NrTWFuYWdlckFjY2Vzcyh2b2lkKTsKIGV4dGVybiBMb2NrTWV0aG9kIEdldExvY2tzTWV0 aG9kVGFibGUoY29uc3QgTE9DSyAqbG9jayk7CiBleHRlcm4gTG9ja01ldGhvZCBHZXRMb2Nr VGFnc01ldGhvZFRhYmxlKGNvbnN0IExPQ0tUQUcgKmxvY2t0YWcpOwogZXh0ZXJuIHVpbnQz MiBMb2NrVGFnSGFzaENvZGUoY29uc3QgTE9DS1RBRyAqbG9ja3RhZyk7CkBAIC01ODQsNyAr NTg2LDYgQEAgZXh0ZXJuIGJvb2wgTG9ja0NoZWNrQ29uZmxpY3RzKExvY2tNZXRob2QgbG9j a01ldGhvZFRhYmxlLAogZXh0ZXJuIHZvaWQgR3JhbnRMb2NrKExPQ0sgKmxvY2ssIFBST0NM T0NLICpwcm9jbG9jaywgTE9DS01PREUgbG9ja21vZGUpOwogZXh0ZXJuIHZvaWQgR3JhbnRB d2FpdGVkTG9jayh2b2lkKTsKIGV4dGVybiB2b2lkIFJlbW92ZUZyb21XYWl0UXVldWUoUEdQ Uk9DICpwcm9jLCB1aW50MzIgaGFzaGNvZGUpOwotZXh0ZXJuIFNpemUgTG9ja1NobWVtU2l6 ZSh2b2lkKTsKIGV4dGVybiBMb2NrRGF0YSAqR2V0TG9ja1N0YXR1c0RhdGEodm9pZCk7CiBl eHRlcm4gQmxvY2tlZFByb2NzRGF0YSAqR2V0QmxvY2tlclN0YXR1c0RhdGEoaW50IGJsb2Nr ZWRfcGlkKTsKIAotLSAKMi4zOS4yCgo= --------------TwGjrGwQxpORbnMkM0EFpwBO Content-Type: text/x-patch; charset=UTF-8; name="v2-0002-Rename-some-shared-memory-initialization-routines.patch" Content-Disposition: attachment; filename*0="v2-0002-Rename-some-shared-memory-initialization-routines.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwMGQyNjE1NjNiNDk0MTEwNTQ1OWU3ZDIzOTMzODZjZmY0N2RlMTJiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIZWlra2kgTGlubmFrYW5nYXMgPGhlaWtraS5saW5u YWthbmdhc0Bpa2kuZmk+CkRhdGU6IFdlZCwgMjggQXVnIDIwMjQgMjA6MjA6NTAgKzAzMDAK U3ViamVjdDogW1BBVENIIHYyIDIvMl0gUmVuYW1lIHNvbWUgc2hhcmVkIG1lbW9yeSBpbml0 aWFsaXphdGlvbiByb3V0aW5lcwoKVG8gbWFrZSB0aGVtIGZvbGxvdyB0aGUgdXN1YWwgbmFt aW5nIGNvbnZlbnRpb24gd2hlcmUKRm9vYmFyU2htZW1TaXplKCkgY2FsY3VsYXRlcyB0aGUg YW1vdW50IG9mIHNoYXJlZCBtZW1vcnkgbmVlZGVkIGJ5CkZvb2JhciBzdWJzeXN0ZW0sIGFu ZCBGb29iYXJTaG1lbUluaXQoKSBwZXJmb3JtcyB0aGUgaW5pdGlhbGl6YXRpb24uCgpJIGRp ZG4ndCByZW5hbWUgQ3JlYXRlTFdMb2NrcygpIGFuZCBJbml0U2htbWVJbmRleCgpLCBiZWNh dXNlIHRoZXkgYXJlCmEgbGl0dGxlIHNwZWNpYWwuIFRoZXkgbmVlZCB0byBiZSBjYWxsZWQg YmVmb3JlIGFueSBvZiB0aGUgb3RoZXIKU2htZW1Jbml0KCkgZnVuY3Rpb25zLCBiZWNhdXNl IHRoZXkgc2V0IHVwIHRoZSBzaGFyZWQgbWVtb3J5CmJvb2trZWVwaW5nIGl0c2VsZi4gSSBh bHNvIGRpZG4ndCByZW5hbWUgSW5pdFByb2NHbG9iYWwoKSwgYmVjYXVzZQp1bmxpa2Ugb3Ro ZXIgU2htZW1pbml0IGZ1bmN0aW9ucywgaXQncyBub3QgY2FsbGVkIGJ5IGluZGl2aWR1YWwK YmFja2VuZHMuCgpSZXZpZXdlZC1ieTogQW5kcmVhcyBLYXJsc3NvbgpEaXNjdXNzaW9uOiBo dHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2MwOTY5NGZmLTI0NTMtNDdl NS1iMjZjLTMyYTE2Y2Q3NWNlNkBpa2kuZmkKLS0tCiBzcmMvYmFja2VuZC9zdG9yYWdlL2J1 ZmZlci9idWZfaW5pdC5jICAgICAgIHwgIDYgKysrLS0tCiBzcmMvYmFja2VuZC9zdG9yYWdl L2J1ZmZlci9idWZtZ3IuYyAgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2Uv YnVmZmVyL2ZyZWVsaXN0LmMgICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9p cGMvaXBjaS5jICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCiBzcmMvYmFja2Vu ZC9zdG9yYWdlL2lwYy9wcm9jYXJyYXkuYyAgICAgICAgIHwgIDQgKystLQogc3JjL2JhY2tl bmQvc3RvcmFnZS9pcGMvc2ludmFsYWR0LmMgICAgICAgICB8IDEwICsrKysrLS0tLS0KIHNy Yy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcmVkaWNhdGUuYyAgICAgICAgfCAgNiArKystLS0K IHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2JhY2tlbmRfc3RhdHVzLmMgfCAgNCArKy0t CiBzcmMvYmFja2VuZC91dGlscy9pbml0L3Bvc3Rpbml0LmMgICAgICAgICAgIHwgIDIgKy0K IHNyYy9pbmNsdWRlL3N0b3JhZ2UvYnVmbWdyLmggICAgICAgICAgICAgICAgfCAgNiArKyst LS0KIHNyYy9pbmNsdWRlL3N0b3JhZ2UvcHJlZGljYXRlLmggICAgICAgICAgICAgfCAgMiAr LQogc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jYXJyYXkuaCAgICAgICAgICAgICB8ICAyICst CiBzcmMvaW5jbHVkZS9zdG9yYWdlL3NpbnZhbGFkdC5oICAgICAgICAgICAgIHwgIDQgKyst LQogc3JjL2luY2x1ZGUvdXRpbHMvYmFja2VuZF9zdGF0dXMuaCAgICAgICAgICB8ICAyICst CiAxNCBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZfaW5pdC5jIGIv c3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmX2luaXQuYwppbmRleCA0NjExNmExZjY0 Li4wOWJlYzY0NDliIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9i dWZfaW5pdC5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zl9pbml0LmMK QEAgLTY1LDcgKzY1LDcgQEAgQ2twdFNvcnRJdGVtICpDa3B0QnVmZmVySWRzOwogICogcG9z dG1hc3Rlciwgb3IgaW4gYSBzdGFuZGFsb25lIGJhY2tlbmQpLgogICovCiB2b2lkCi1Jbml0 QnVmZmVyUG9vbCh2b2lkKQorQnVmZmVyTWFuYWdlclNobWVtSW5pdCh2b2lkKQogewogCWJv b2wJCWZvdW5kQnVmcywKIAkJCQlmb3VuZERlc2NzLApAQCAtMTUxLDEzICsxNTEsMTMgQEAg SW5pdEJ1ZmZlclBvb2wodm9pZCkKIH0KIAogLyoKLSAqIEJ1ZmZlclNobWVtU2l6ZQorICog QnVmZmVyTWFuYWdlclNobWVtU2l6ZQogICoKICAqIGNvbXB1dGUgdGhlIHNpemUgb2Ygc2hh cmVkIG1lbW9yeSBmb3IgdGhlIGJ1ZmZlciBwb29sIGluY2x1ZGluZwogICogZGF0YSBwYWdl cywgYnVmZmVyIGRlc2NyaXB0b3JzLCBoYXNoIHRhYmxlcywgZXRjLgogICovCiBTaXplCi1C dWZmZXJTaG1lbVNpemUodm9pZCkKK0J1ZmZlck1hbmFnZXJTaG1lbVNpemUodm9pZCkKIHsK IAlTaXplCQlzaXplID0gMDsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9i dWZmZXIvYnVmbWdyLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYwpp bmRleCBmYjM4YzdiZGQ0Li41Y2RkMmYxMGZjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9z dG9yYWdlL2J1ZmZlci9idWZtZ3IuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZl ci9idWZtZ3IuYwpAQCAtMzU4Miw3ICszNTgyLDcgQEAgQXRFT1hhY3RfQnVmZmVycyhib29s IGlzQ29tbWl0KQogICogYnVmZmVyIHBvb2wuCiAgKi8KIHZvaWQKLUluaXRCdWZmZXJQb29s QWNjZXNzKHZvaWQpCitJbml0QnVmZmVyTWFuYWdlckFjY2Vzcyh2b2lkKQogewogCUhBU0hD VEwJCWhhc2hfY3RsOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZl ci9mcmVlbGlzdC5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvZnJlZWxpc3QuYwpp bmRleCAxOTc5N2RlMzFhLi5kZmZkZDU3ZTliIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9z dG9yYWdlL2J1ZmZlci9mcmVlbGlzdC5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVm ZmVyL2ZyZWVsaXN0LmMKQEAgLTUwNiw3ICs1MDYsNyBAQCBTdHJhdGVneUluaXRpYWxpemUo Ym9vbCBpbml0KQogCiAJCS8qCiAJCSAqIEdyYWIgdGhlIHdob2xlIGxpbmtlZCBsaXN0IG9m IGZyZWUgYnVmZmVycyBmb3Igb3VyIHN0cmF0ZWd5LiBXZQotCQkgKiBhc3N1bWUgaXQgd2Fz IHByZXZpb3VzbHkgc2V0IHVwIGJ5IEluaXRCdWZmZXJQb29sKCkuCisJCSAqIGFzc3VtZSBp dCB3YXMgcHJldmlvdXNseSBzZXQgdXAgYnkgQnVmZmVyTWFuYWdlclNobWVtSW5pdCgpLgog CQkgKi8KIAkJU3RyYXRlZ3lDb250cm9sLT5maXJzdEZyZWVCdWZmZXIgPSAwOwogCQlTdHJh dGVneUNvbnRyb2wtPmxhc3RGcmVlQnVmZmVyID0gTkJ1ZmZlcnMgLSAxOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFn ZS9pcGMvaXBjaS5jCmluZGV4IDhmOGE4OTEyNGUuLjZjYWVjYTNhOGUgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYworKysgYi9zcmMvYmFja2VuZC9zdG9y YWdlL2lwYy9pcGNpLmMKQEAgLTExNSw3ICsxMTUsNyBAQCBDYWxjdWxhdGVTaG1lbVNpemUo aW50ICpudW1fc2VtYXBob3JlcykKIAkJCQkJCQkJCQkJIHNpemVvZihTaG1lbUluZGV4RW50 KSkpOwogCXNpemUgPSBhZGRfc2l6ZShzaXplLCBkc21fZXN0aW1hdGVfc2l6ZSgpKTsKIAlz aXplID0gYWRkX3NpemUoc2l6ZSwgRFNNUmVnaXN0cnlTaG1lbVNpemUoKSk7Ci0Jc2l6ZSA9 IGFkZF9zaXplKHNpemUsIEJ1ZmZlclNobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUo c2l6ZSwgQnVmZmVyTWFuYWdlclNobWVtU2l6ZSgpKTsKIAlzaXplID0gYWRkX3NpemUoc2l6 ZSwgTG9ja01hbmFnZXJTaG1lbVNpemUoKSk7CiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFBy ZWRpY2F0ZUxvY2tTaG1lbVNpemUoKSk7CiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFByb2NH bG9iYWxTaG1lbVNpemUoKSk7CkBAIC0xMzIsNyArMTMyLDcgQEAgQ2FsY3VsYXRlU2htZW1T aXplKGludCAqbnVtX3NlbWFwaG9yZXMpCiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIExXTG9j a1NobWVtU2l6ZSgpKTsKIAlzaXplID0gYWRkX3NpemUoc2l6ZSwgUHJvY0FycmF5U2htZW1T aXplKCkpOwogCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCYWNrZW5kU3RhdHVzU2htZW1TaXpl KCkpOwotCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTSW52YWxTaG1lbVNpemUoKSk7CisJc2l6 ZSA9IGFkZF9zaXplKHNpemUsIFNoYXJlZEludmFsU2htZW1TaXplKCkpOwogCXNpemUgPSBh ZGRfc2l6ZShzaXplLCBQTVNpZ25hbFNobWVtU2l6ZSgpKTsKIAlzaXplID0gYWRkX3NpemUo c2l6ZSwgUHJvY1NpZ25hbFNobWVtU2l6ZSgpKTsKIAlzaXplID0gYWRkX3NpemUoc2l6ZSwg Q2hlY2twb2ludGVyU2htZW1TaXplKCkpOwpAQCAtMjg2LDcgKzI4Niw3IEBAIENyZWF0ZU9y QXR0YWNoU2htZW1TdHJ1Y3RzKHZvaWQpCiAJQ29tbWl0VHNTaG1lbUluaXQoKTsKIAlTVUJU UkFOU1NobWVtSW5pdCgpOwogCU11bHRpWGFjdFNobWVtSW5pdCgpOwotCUluaXRCdWZmZXJQ b29sKCk7CisJQnVmZmVyTWFuYWdlclNobWVtSW5pdCgpOwogCiAJLyoKIAkgKiBTZXQgdXAg bG9jayBtYW5hZ2VyCkBAIC0yOTYsMjIgKzI5NiwyMiBAQCBDcmVhdGVPckF0dGFjaFNobWVt U3RydWN0cyh2b2lkKQogCS8qCiAJICogU2V0IHVwIHByZWRpY2F0ZSBsb2NrIG1hbmFnZXIK IAkgKi8KLQlJbml0UHJlZGljYXRlTG9ja3MoKTsKKwlQcmVkaWNhdGVMb2NrU2htZW1Jbml0 KCk7CiAKIAkvKgogCSAqIFNldCB1cCBwcm9jZXNzIHRhYmxlCiAJICovCiAJaWYgKCFJc1Vu ZGVyUG9zdG1hc3RlcikKIAkJSW5pdFByb2NHbG9iYWwoKTsKLQlDcmVhdGVTaGFyZWRQcm9j QXJyYXkoKTsKLQlDcmVhdGVTaGFyZWRCYWNrZW5kU3RhdHVzKCk7CisJUHJvY0FycmF5U2ht ZW1Jbml0KCk7CisJQmFja2VuZFN0YXR1c1NobWVtSW5pdCgpOwogCVR3b1BoYXNlU2htZW1J bml0KCk7CiAJQmFja2dyb3VuZFdvcmtlclNobWVtSW5pdCgpOwogCiAJLyoKIAkgKiBTZXQg dXAgc2hhcmVkLWludmFsIG1lc3NhZ2luZwogCSAqLwotCUNyZWF0ZVNoYXJlZEludmFsaWRh dGlvblN0YXRlKCk7CisJU2hhcmVkSW52YWxTaG1lbUluaXQoKTsKIAogCS8qCiAJICogU2V0 IHVwIGludGVycHJvY2VzcyBzaWduYWxpbmcgbWVjaGFuaXNtcwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJvY2FycmF5LmMgYi9zcmMvYmFja2VuZC9zdG9yYWdl L2lwYy9wcm9jYXJyYXkuYwppbmRleCBhZjNiMTVlOTNkLi4zNjYxMGExYzdlIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9wcm9jYXJyYXkuYworKysgYi9zcmMvYmFj a2VuZC9zdG9yYWdlL2lwYy9wcm9jYXJyYXkuYwpAQCAtMzcwLDcgKzM3MCw3IEBAIHN0YXRp YyBpbmxpbmUgRnVsbFRyYW5zYWN0aW9uSWQgRnVsbFhpZFJlbGF0aXZlVG8oRnVsbFRyYW5z YWN0aW9uSWQgcmVsLAogc3RhdGljIHZvaWQgR2xvYmFsVmlzVXBkYXRlQXBwbHkoQ29tcHV0 ZVhpZEhvcml6b25zUmVzdWx0ICpob3Jpem9ucyk7CiAKIC8qCi0gKiBSZXBvcnQgc2hhcmVk LW1lbW9yeSBzcGFjZSBuZWVkZWQgYnkgQ3JlYXRlU2hhcmVkUHJvY0FycmF5LgorICogUmVw b3J0IHNoYXJlZC1tZW1vcnkgc3BhY2UgbmVlZGVkIGJ5IFByb2NBcnJheVNobWVtSW5pdAog ICovCiBTaXplCiBQcm9jQXJyYXlTaG1lbVNpemUodm9pZCkKQEAgLTQxNSw3ICs0MTUsNyBA QCBQcm9jQXJyYXlTaG1lbVNpemUodm9pZCkKICAqIEluaXRpYWxpemUgdGhlIHNoYXJlZCBQ R1BST0MgYXJyYXkgZHVyaW5nIHBvc3RtYXN0ZXIgc3RhcnR1cC4KICAqLwogdm9pZAotQ3Jl YXRlU2hhcmVkUHJvY0FycmF5KHZvaWQpCitQcm9jQXJyYXlTaG1lbUluaXQodm9pZCkKIHsK IAlib29sCQlmb3VuZDsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMv c2ludmFsYWR0LmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaW52YWxhZHQuYwppbmRl eCBiNDg2ZDhkZGQxLi5kYjU5NjM3YzQzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9y YWdlL2lwYy9zaW52YWxhZHQuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaW52 YWxhZHQuYwpAQCAtMjEyLDEwICsyMTIsMTAgQEAgc3RhdGljIHZvaWQgQ2xlYW51cEludmFs aWRhdGlvblN0YXRlKGludCBzdGF0dXMsIERhdHVtIGFyZyk7CiAKIAogLyoKLSAqIFNJbnZh bFNobWVtU2l6ZSAtLS0gcmV0dXJuIHNoYXJlZC1tZW1vcnkgc3BhY2UgbmVlZGVkCisgKiBT aGFyZWRJbnZhbFNobWVtU2l6ZSAtLS0gcmV0dXJuIHNoYXJlZC1tZW1vcnkgc3BhY2UgbmVl ZGVkCiAgKi8KIFNpemUKLVNJbnZhbFNobWVtU2l6ZSh2b2lkKQorU2hhcmVkSW52YWxTaG1l bVNpemUodm9pZCkKIHsKIAlTaXplCQlzaXplOwogCkBAIC0yMjcsMTggKzIyNywxOCBAQCBT SW52YWxTaG1lbVNpemUodm9pZCkKIH0KIAogLyoKLSAqIENyZWF0ZVNoYXJlZEludmFsaWRh dGlvblN0YXRlCisgKiBTaGFyZWRJbnZhbFNobWVtSW5pdAogICoJCUNyZWF0ZSBhbmQgaW5p dGlhbGl6ZSB0aGUgU0kgbWVzc2FnZSBidWZmZXIKICAqLwogdm9pZAotQ3JlYXRlU2hhcmVk SW52YWxpZGF0aW9uU3RhdGUodm9pZCkKK1NoYXJlZEludmFsU2htZW1Jbml0KHZvaWQpCiB7 CiAJaW50CQkJaTsKIAlib29sCQlmb3VuZDsKIAogCS8qIEFsbG9jYXRlIHNwYWNlIGluIHNo YXJlZCBtZW1vcnkgKi8KIAlzaG1JbnZhbEJ1ZmZlciA9IChTSVNlZyAqKQotCQlTaG1lbUlu aXRTdHJ1Y3QoInNobUludmFsQnVmZmVyIiwgU0ludmFsU2htZW1TaXplKCksICZmb3VuZCk7 CisJCVNobWVtSW5pdFN0cnVjdCgic2htSW52YWxCdWZmZXIiLCBTaGFyZWRJbnZhbFNobWVt U2l6ZSgpLCAmZm91bmQpOwogCWlmIChmb3VuZCkKIAkJcmV0dXJuOwogCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJlZGljYXRlLmMgYi9zcmMvYmFja2VuZC9z dG9yYWdlL2xtZ3IvcHJlZGljYXRlLmMKaW5kZXggYjQ1NWI3OGY5Zi4uZTI0YTBmMmZkYiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3ByZWRpY2F0ZS5jCisrKyBi L3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcmVkaWNhdGUuYwpAQCAtMTUzLDcgKzE1Myw3 IEBACiAgKiBJTlRFUkZBQ0UgUk9VVElORVMKICAqCiAgKiBob3VzZWtlZXBpbmcgZm9yIHNl dHRpbmcgdXAgc2hhcmVkIG1lbW9yeSBwcmVkaWNhdGUgbG9jayBzdHJ1Y3R1cmVzCi0gKgkJ SW5pdFByZWRpY2F0ZUxvY2tzKHZvaWQpCisgKgkJUHJlZGljYXRlTG9ja1NobWVtSW5pdCh2 b2lkKQogICoJCVByZWRpY2F0ZUxvY2tTaG1lbVNpemUodm9pZCkKICAqCiAgKiBwcmVkaWNh dGUgbG9jayByZXBvcnRpbmcKQEAgLTExMjcsNyArMTEyNyw3IEBAIENoZWNrUG9pbnRQcmVk aWNhdGUodm9pZCkKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogLyoKLSAqIEluaXRQcmVk aWNhdGVMb2NrcyAtLSBJbml0aWFsaXplIHRoZSBwcmVkaWNhdGUgbG9ja2luZyBkYXRhIHN0 cnVjdHVyZXMuCisgKiBQcmVkaWNhdGVMb2NrU2htZW1Jbml0IC0tIEluaXRpYWxpemUgdGhl IHByZWRpY2F0ZSBsb2NraW5nIGRhdGEgc3RydWN0dXJlcy4KICAqCiAgKiBUaGlzIGlzIGNh bGxlZCBmcm9tIENyZWF0ZVNoYXJlZE1lbW9yeUFuZFNlbWFwaG9yZXMoKSwgd2hpY2ggc2Vl IGZvcgogICogbW9yZSBjb21tZW50cy4gIEluIHRoZSBub3JtYWwgcG9zdG1hc3RlciBjYXNl LCB0aGUgc2hhcmVkIGhhc2ggdGFibGVzCkBAIC0xMTM3LDcgKzExMzcsNyBAQCBDaGVja1Bv aW50UHJlZGljYXRlKHZvaWQpCiAgKiBzaGFyZWQgaGFzaCB0YWJsZXMuCiAgKi8KIHZvaWQK LUluaXRQcmVkaWNhdGVMb2Nrcyh2b2lkKQorUHJlZGljYXRlTG9ja1NobWVtSW5pdCh2b2lk KQogewogCUhBU0hDVEwJCWluZm87CiAJbG9uZwkJbWF4X3RhYmxlX3NpemU7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9iYWNrZW5kX3N0YXR1cy5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvYmFja2VuZF9zdGF0dXMuYwppbmRleCAxY2NmNGM2 ZDgzLi4zNGE1NWUyMTc3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0 eS9iYWNrZW5kX3N0YXR1cy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L2Jh Y2tlbmRfc3RhdHVzLmMKQEAgLTc3LDcgKzc3LDcgQEAgc3RhdGljIHZvaWQgcGdzdGF0X3Nl dHVwX2JhY2tlbmRfc3RhdHVzX2NvbnRleHQodm9pZCk7CiAKIAogLyoKLSAqIFJlcG9ydCBz aGFyZWQtbWVtb3J5IHNwYWNlIG5lZWRlZCBieSBDcmVhdGVTaGFyZWRCYWNrZW5kU3RhdHVz LgorICogUmVwb3J0IHNoYXJlZC1tZW1vcnkgc3BhY2UgbmVlZGVkIGJ5IEJhY2tlbmRTdGF0 dXNTaG1lbUluaXQuCiAgKi8KIFNpemUKIEJhY2tlbmRTdGF0dXNTaG1lbVNpemUodm9pZCkK QEAgLTExMyw3ICsxMTMsNyBAQCBCYWNrZW5kU3RhdHVzU2htZW1TaXplKHZvaWQpCiAgKiBk dXJpbmcgcG9zdG1hc3RlciBzdGFydHVwLgogICovCiB2b2lkCi1DcmVhdGVTaGFyZWRCYWNr ZW5kU3RhdHVzKHZvaWQpCitCYWNrZW5kU3RhdHVzU2htZW1Jbml0KHZvaWQpCiB7CiAJU2l6 ZQkJc2l6ZTsKIAlib29sCQlmb3VuZDsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxz L2luaXQvcG9zdGluaXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2luaXQvcG9zdGluaXQuYwpp bmRleCAwNGE0N2Q2ZTcwLi4zYjUwY2UxOWEyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91 dGlscy9pbml0L3Bvc3Rpbml0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9wb3N0 aW5pdC5jCkBAIC01OTIsNyArNTkyLDcgQEAgQmFzZUluaXQodm9pZCkKIAkvKiBEbyBsb2Nh bCBpbml0aWFsaXphdGlvbiBvZiBzdG9yYWdlIGFuZCBidWZmZXIgbWFuYWdlcnMgKi8KIAlJ bml0U3luYygpOwogCXNtZ3Jpbml0KCk7Ci0JSW5pdEJ1ZmZlclBvb2xBY2Nlc3MoKTsKKwlJ bml0QnVmZmVyTWFuYWdlckFjY2VzcygpOwogCiAJLyoKIAkgKiBJbml0aWFsaXplIHRlbXBv cmFyeSBmaWxlIGFjY2VzcyBhZnRlciBwZ3N0YXQsIHNvIHRoYXQgdGhlIHRlbXBvcmFyeQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZtZ3IuaCBiL3NyYy9pbmNsdWRl L3N0b3JhZ2UvYnVmbWdyLmgKaW5kZXggYzg0MjI1NzFiNy4uZWIwZmJhNDIzMCAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZtZ3IuaAorKysgYi9zcmMvaW5jbHVkZS9z dG9yYWdlL2J1Zm1nci5oCkBAIC0yNDksNyArMjQ5LDcgQEAgZXh0ZXJuIEJ1ZmZlciBFeHRl bmRCdWZmZXJlZFJlbFRvKEJ1ZmZlck1hbmFnZXJSZWxhdGlvbiBibXIsCiAJCQkJCQkJCSAg QmxvY2tOdW1iZXIgZXh0ZW5kX3RvLAogCQkJCQkJCQkgIFJlYWRCdWZmZXJNb2RlIG1vZGUp OwogCi1leHRlcm4gdm9pZCBJbml0QnVmZmVyUG9vbEFjY2Vzcyh2b2lkKTsKK2V4dGVybiB2 b2lkIEluaXRCdWZmZXJNYW5hZ2VyQWNjZXNzKHZvaWQpOwogZXh0ZXJuIHZvaWQgQXRFT1hh Y3RfQnVmZmVycyhib29sIGlzQ29tbWl0KTsKIGV4dGVybiBjaGFyICpEZWJ1Z1ByaW50QnVm ZmVyUmVmY291bnQoQnVmZmVyIGJ1ZmZlcik7CiBleHRlcm4gdm9pZCBDaGVja1BvaW50QnVm ZmVycyhpbnQgZmxhZ3MpOwpAQCAtMzAwLDggKzMwMCw4IEBAIGV4dGVybiB2b2lkIExpbWl0 QWRkaXRpb25hbExvY2FsUGlucyh1aW50MzIgKmFkZGl0aW9uYWxfcGlucyk7CiBleHRlcm4g Ym9vbCBFdmljdFVucGlubmVkQnVmZmVyKEJ1ZmZlciBidWYpOwogCiAvKiBpbiBidWZfaW5p dC5jICovCi1leHRlcm4gdm9pZCBJbml0QnVmZmVyUG9vbCh2b2lkKTsKLWV4dGVybiBTaXpl IEJ1ZmZlclNobWVtU2l6ZSh2b2lkKTsKK2V4dGVybiB2b2lkIEJ1ZmZlck1hbmFnZXJTaG1l bUluaXQodm9pZCk7CitleHRlcm4gU2l6ZSBCdWZmZXJNYW5hZ2VyU2htZW1TaXplKHZvaWQp OwogCiAvKiBpbiBsb2NhbGJ1Zi5jICovCiBleHRlcm4gdm9pZCBBdFByb2NFeGl0X0xvY2Fs QnVmZmVycyh2b2lkKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJlZGlj YXRlLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3ByZWRpY2F0ZS5oCmluZGV4IDE0ZWU5Yjk0 YTIuLmQ1YzE0OTg2ZTIgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJlZGlj YXRlLmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcmVkaWNhdGUuaApAQCAtMzcsNyAr MzcsNyBAQCB0eXBlZGVmIHZvaWQgKlNlcmlhbGl6YWJsZVhhY3RIYW5kbGU7CiAgKi8KIAog LyogaG91c2VrZWVwaW5nIGZvciBzaGFyZWQgbWVtb3J5IHByZWRpY2F0ZSBsb2NrIHN0cnVj dHVyZXMgKi8KLWV4dGVybiB2b2lkIEluaXRQcmVkaWNhdGVMb2Nrcyh2b2lkKTsKK2V4dGVy biB2b2lkIFByZWRpY2F0ZUxvY2tTaG1lbUluaXQodm9pZCk7CiBleHRlcm4gU2l6ZSBQcmVk aWNhdGVMb2NrU2htZW1TaXplKHZvaWQpOwogCiBleHRlcm4gdm9pZCBDaGVja1BvaW50UHJl ZGljYXRlKHZvaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jYXJy YXkuaCBiL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvY2FycmF5LmgKaW5kZXggOGNhNjA1MDQ2 Mi4uNTZhZjBiNDBiMyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jYXJy YXkuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2NhcnJheS5oCkBAIC0yMSw3ICsy MSw3IEBACiAKIAogZXh0ZXJuIFNpemUgUHJvY0FycmF5U2htZW1TaXplKHZvaWQpOwotZXh0 ZXJuIHZvaWQgQ3JlYXRlU2hhcmVkUHJvY0FycmF5KHZvaWQpOworZXh0ZXJuIHZvaWQgUHJv Y0FycmF5U2htZW1Jbml0KHZvaWQpOwogZXh0ZXJuIHZvaWQgUHJvY0FycmF5QWRkKFBHUFJP QyAqcHJvYyk7CiBleHRlcm4gdm9pZCBQcm9jQXJyYXlSZW1vdmUoUEdQUk9DICpwcm9jLCBU cmFuc2FjdGlvbklkIGxhdGVzdFhpZCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0 b3JhZ2Uvc2ludmFsYWR0LmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3NpbnZhbGFkdC5oCmlu ZGV4IGMzYzk3YjNmOGIuLmM5ZDE3NWI2MzQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0 b3JhZ2Uvc2ludmFsYWR0LmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9zaW52YWxhZHQu aApAQCAtMjgsOCArMjgsOCBAQAogLyoKICAqIHByb3RvdHlwZXMgZm9yIGZ1bmN0aW9ucyBp biBzaW52YWxhZHQuYwogICovCi1leHRlcm4gU2l6ZSBTSW52YWxTaG1lbVNpemUodm9pZCk7 Ci1leHRlcm4gdm9pZCBDcmVhdGVTaGFyZWRJbnZhbGlkYXRpb25TdGF0ZSh2b2lkKTsKK2V4 dGVybiBTaXplIFNoYXJlZEludmFsU2htZW1TaXplKHZvaWQpOworZXh0ZXJuIHZvaWQgU2hh cmVkSW52YWxTaG1lbUluaXQodm9pZCk7CiBleHRlcm4gdm9pZCBTaGFyZWRJbnZhbEJhY2tl bmRJbml0KGJvb2wgc2VuZE9ubHkpOwogCiBleHRlcm4gdm9pZCBTSUluc2VydERhdGFFbnRy aWVzKGNvbnN0IFNoYXJlZEludmFsaWRhdGlvbk1lc3NhZ2UgKmRhdGEsIGludCBuKTsKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2JhY2tlbmRfc3RhdHVzLmggYi9zcmMvaW5j bHVkZS91dGlscy9iYWNrZW5kX3N0YXR1cy5oCmluZGV4IDdiN2Y2ZjU5ZDAuLjk3ODc0MzAw YzMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL2JhY2tlbmRfc3RhdHVzLmgKKysr IGIvc3JjL2luY2x1ZGUvdXRpbHMvYmFja2VuZF9zdGF0dXMuaApAQCAtMjk5LDcgKzI5OSw3 IEBAIGV4dGVybiBQR0RMTElNUE9SVCBQZ0JhY2tlbmRTdGF0dXMgKk15QkVFbnRyeTsKICAq IC0tLS0tLS0tLS0KICAqLwogZXh0ZXJuIFNpemUgQmFja2VuZFN0YXR1c1NobWVtU2l6ZSh2 b2lkKTsKLWV4dGVybiB2b2lkIENyZWF0ZVNoYXJlZEJhY2tlbmRTdGF0dXModm9pZCk7Citl eHRlcm4gdm9pZCBCYWNrZW5kU3RhdHVzU2htZW1Jbml0KHZvaWQpOwogCiAKIC8qIC0tLS0t LS0tLS0KLS0gCjIuMzkuMgoK --------------TwGjrGwQxpORbnMkM0EFpwBO--