From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jonas Hahnfeld via "Developers list for Guile, the GNU extensibility library" Newsgroups: gmane.lisp.guile.devel Subject: Re: GC + Java finalization Date: Thu, 15 Jul 2021 20:44:28 +0200 Message-ID: <9ce77d5e08d50456eddc575179b68ac17afc9bf6.camel@hahnjo.de> References: Reply-To: Jonas Hahnfeld Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-IJ7Q6OEi3/ha7VF15lo+" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1755"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.40.2 Cc: Maxime Devos To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Thu Jul 15 20:44:59 2021 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m46Lv-000AeK-Ei for guile-devel@m.gmane-mx.org; Thu, 15 Jul 2021 20:44:55 +0200 Original-Received: from localhost ([::1]:44898 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m46Lu-0007Jx-2X for guile-devel@m.gmane-mx.org; Thu, 15 Jul 2021 14:44:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46588) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m46Li-0007JU-CD for guile-devel@gnu.org; Thu, 15 Jul 2021 14:44:42 -0400 Original-Received: from backus.hahnjo.de ([193.30.122.186]:51858 helo=mail.hahnjo.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m46Lg-0002bH-2E for guile-devel@gnu.org; Thu, 15 Jul 2021 14:44:42 -0400 Original-Received: from [IPv6:2a01:cb15:40c:c100:cf0a:528a:fee7:c993] (unknown [IPv6:2a01:cb15:40c:c100:cf0a:528a:fee7:c993]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.hahnjo.de (Postfix) with ESMTPSA id B355B4C92E2D; Thu, 15 Jul 2021 20:44:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=hahnjo.de; s=default; t=1626374674; bh=qez38YbCi8iaBnsmo1QLf6S7AKhNPXAA+D76VBuyGes=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=JHe/wM8Rqa3HOSI61lZOSCSNWpqUTgOoL5qoSVb8+/Q7oW2p0StYvrufJkPWCut93 zl5YtLQtgKhEGRutSzzAhbkOno1mh1te3lZDXXD9LqZqF0aM39/ZOmIs4ddI6fy07Y 0Mn4uAkZduIzABq1RdE+21Du7OE4h2EtXAF41eXO2T3A0V8KLWAncb0D8CPD/JQT+b uHWN97D2iLSap+mTrJTK5ijkiht+XLxJYtWcXV+nGRBrx1eKg4vxF+WXLlfw1KJclr XEEfLEcxSw6+fzKZCY0nni6sESZAtqAAamSsnOYg4zgdvEm9QfuaaYKiBRKlMZ5yMZ CtoBHB9XGXLUw== In-Reply-To: Received-SPF: pass client-ip=193.30.122.186; envelope-from=hahnjo@hahnjo.de; helo=mail.hahnjo.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:20808 Archived-At: --=-IJ7Q6OEi3/ha7VF15lo+ Content-Type: multipart/mixed; boundary="=-B74kntfzHYU2hFtmbP/N" --=-B74kntfzHYU2hFtmbP/N Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Am Samstag, dem 03.07.2021 um 14:05 +0200 schrieb Jonas Hahnfeld via Developers list for Guile, the GNU extensibility library: > Hi Guile devs, >=20 > I'm hacking on GNU LilyPond and recently wondered if Guile could run > without Java finalization that prevents collection of chains of > unreachable objects. I found that the functionality is only needed once > the first guardian is created, so it's possible to delay enabling the > mode until then. This required some fixes to free functions that > assumed dependent objects to be freed only later (see first two > patches). > The third patch delays ensuring Java finalization to scm_make_guardian, > but doesn't disable it explicitly (it's on by default in bdwgc). This > could now be done right after GC_INIT(), but it's not clear (at least > to me) whether client applications actually rely it, so I think it's > better if that's not done in Guile itself. >=20 > Please consider applying, the fixes potentially also to stable-2.2. I didn't receive other comments than those by Maxime, so here is an updated version of the first patch. Jonas --=-B74kntfzHYU2hFtmbP/N Content-Disposition: attachment; filename="0001-Fix-test-smob-mark.patch" Content-Type: text/x-patch; name="0001-Fix-test-smob-mark.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmODlhODI3MWMzY2JiNzc1YTgzZGIzZTU5ZmE2NmVhODJmNjIzOWExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hcyBIYWhuZmVsZCA8aGFobmpvQGhhaG5qby5kZT4KRGF0 ZTogRnJpLCAyIEp1bCAyMDIxIDIzOjUyOjEzICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIEZp eCB0ZXN0LXNtb2ItbWFyawoKKiB0ZXN0LXN1aXRlL3N0YW5kYWxvbmUvdGVzdC1zbW9iLW1hcmsu YwogIChpbml0X3Ntb2JfdHlwZSk6IENvcnJlY3Qgc2l6ZSBvZiBzbW9iIHR5cGUuCiAgKGZyZWVf eCk6IENsZWFyIHNtb2IgZGF0YSBpbnN0ZWFkIG9mIGxvY2FsIHZhcmlhYmxlLgogICh0ZXN0X3Nj bV9zbW9iX21hcmspOiBQdXQgc21vYnMgaW4gYXJyYXkgdG8gZW5zdXJlIG1hcmtpbmcuCi0tLQog dGVzdC1zdWl0ZS9zdGFuZGFsb25lL3Rlc3Qtc21vYi1tYXJrLmMgfCA5ICsrKysrKy0tLQogMSBm aWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS90ZXN0LXN1aXRlL3N0YW5kYWxvbmUvdGVzdC1zbW9iLW1hcmsuYyBiL3Rlc3Qtc3VpdGUvc3Rh bmRhbG9uZS90ZXN0LXNtb2ItbWFyay5jCmluZGV4IGQwYmI1MzM2YS4uNTg2YTJiMDgxIDEwMDY0 NAotLS0gYS90ZXN0LXN1aXRlL3N0YW5kYWxvbmUvdGVzdC1zbW9iLW1hcmsuYworKysgYi90ZXN0 LXN1aXRlL3N0YW5kYWxvbmUvdGVzdC1zbW9iLW1hcmsuYwpAQCAtNzksNyArNzksNyBAQCBmcmVl X3ggKFNDTSB4KQogICB4X3QgKmNfeDsKICAgY194ID0gKHhfdCAqKSBTQ01fU01PQl9EQVRBICh4 KTsKICAgc2NtX2djX2ZyZWUgKGNfeCwgc2l6ZW9mICh4X3QpLCAieCIpOwotICBjX3ggPSBOVUxM OworICBTQ01fU0VUX1NNT0JfREFUQSAoeCwgTlVMTCk7CiAgIHJldHVybiAwOwogfQogCkBAIC0x MDAsMjIgKzEwMCwyNSBAQCBwcmludF94IChTQ00geCwgU0NNIHBvcnQsIHNjbV9wcmludF9zdGF0 ZSAqIHBzdGF0ZSBTQ01fVU5VU0VEKQogc3RhdGljIHZvaWQKIHRlc3Rfc2NtX3Ntb2JfbWFyayAo KQogeworICBTQ00gKnNtb2JzID0gc2NtX2djX21hbGxvYyAoc2l6ZW9mKFNDTSkgKiBTTU9CU19D T1VOVCwgInNtb2JzIik7CisKICAgaW50IGk7CiAgIG1hcmtfY2FsbF9jb3VudCA9IDA7CiAgIGZv ciAoaSA9IDA7IGkgPCBTTU9CU19DT1VOVDsgaSsrKQotICAgIG1ha2VfeCAoKTsKKyAgICBzbW9i c1tpXSA9IG1ha2VfeCAoKTsKICAgc2NtX2djICgpOwogICBpZiAobWFya19jYWxsX2NvdW50IDwg U01PQlNfQ09VTlQpCiAgICAgewogICAgICAgZnByaW50ZiAoc3RkZXJyLCAiRkFJTDogU01PQiBt YXJrIGZ1bmN0aW9uIGNhbGxlZCBmb3IgZWFjaCBTTU9CXG4iKTsKICAgICAgIGV4aXQgKEVYSVRf RkFJTFVSRSk7CiAgICAgfQorICBzY21fcmVtZW1iZXJfdXB0b19oZXJlXzEgKHNtb2JzKTsKIH0K IAogc3RhdGljIHZvaWQKIGluaXRfc21vYl90eXBlICgpCiB7Ci0gIHhfdGFnID0gc2NtX21ha2Vf c21vYl90eXBlICgieCIsIHNpemVvZiAoeF90KSk7CisgIHhfdGFnID0gc2NtX21ha2Vfc21vYl90 eXBlICgieCIsIHNpemVvZiAoeF90ICopKTsKICAgc2NtX3NldF9zbW9iX2ZyZWUgKHhfdGFnLCBm cmVlX3gpOwogICBzY21fc2V0X3Ntb2JfcHJpbnQgKHhfdGFnLCBwcmludF94KTsKICAgc2NtX3Nl dF9zbW9iX21hcmsgKHhfdGFnLCBtYXJrX3gpOwotLSAKMi4zMi4wCgo= --=-B74kntfzHYU2hFtmbP/N Content-Disposition: attachment; filename="0002-Avoid-matching-calls-of-scm_gc_free.patch" Content-Type: text/x-patch; name="0002-Avoid-matching-calls-of-scm_gc_free.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAzM2FmNmE5OGM2ODAxZTdiNDg4MGQxZDNmNzhmN2UyMDk3YzIxNzRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hcyBIYWhuZmVsZCA8aGFobmpvQGhhaG5qby5kZT4KRGF0 ZTogRnJpLCAyIEp1bCAyMDIxIDIzOjAzOjE3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIEF2 b2lkIG1hdGNoaW5nIGNhbGxzIG9mIHNjbV9nY19mcmVlCgpUaGVyZSBpcyBubyBwb2ludCBpbiBy ZWdpc3RlcmluZyBtZW1vcnkgd2l0aCB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IKaWYgaXQgZG9lc24n dCBuZWVkIHRvIGRvIGl0cyBqb2IuIEluIGZhY3QsIGNhbGxpbmcgc2NtX2djX2ZyZWUgaW4KYSBm cmVlIGZ1bmN0aW9uIGlzIHdyb25nIGJlY2F1c2UgaXQgcmVsaWVzIG9uIEphdmEgZmluYWxpemF0 aW9uLgoKKiBsaWJndWlsZS9yYW5kb20uYyAoc2NtX2NfcmFuZG9tX2JpZ251bSk6IFJlcGxhY2Ug bWF0Y2hpbmcgY2FsbHMgb2YKICBzY21fZ2NfY2FsbG9jIGFuZCBzY21fZ2NfZnJlZS4KKiBsaWJn dWlsZS9yZWdleC1wb3NpeC5jIChzY21fbWFrZV9yZWdleHAsIHJlZ2V4X2ZyZWUpOiBBdm9pZCBj YWxsCiAgb2Ygc2NtX2djX2ZyZWUgaW4gZnJlZSBmdW5jdGlvbi4KKiB0ZXN0LXN1aXRlL3N0YW5k YWxvbmUvdGVzdC1zbW9iLW1hcmsuYyAobWFrZV94LCBmcmVlX3gpOiBBdm9pZAogIGNhbGwgb2Yg c2NtX2djX2ZyZWUgaW4gZnJlZSBmdW5jdGlvbi4KLS0tCiBUSEFOS1MgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDEgKwogbGliZ3VpbGUvcmFuZG9tLmMgICAgICAgICAgICAgICAg ICAgICAgfCA4ICsrLS0tLS0tCiBsaWJndWlsZS9yZWdleC1wb3NpeC5jICAgICAgICAgICAgICAg ICB8IDYgKysrLS0tCiB0ZXN0LXN1aXRlL3N0YW5kYWxvbmUvdGVzdC1zbW9iLW1hcmsuYyB8IDQg KystLQogNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL1RIQU5LUyBiL1RIQU5LUwppbmRleCBhYTQ4NzdlOTUuLjc4NmI2NWQxYSAx MDA2NDQKLS0tIGEvVEhBTktTCisrKyBiL1RIQU5LUwpAQCAtMTMsNiArMTMsNyBAQCBDb250cmli dXRvcnMgc2luY2UgdGhlIGxhc3QgcmVsZWFzZToKICAgICAgICAgIFZvbGtlciBHcmFic2NoCiAg ICAgICAgICBKdWxpYW4gR3JhaGFtCiAgICAgICAgIE1pY2hhZWwgR3JhbgorICAgICAgICAgIEpv bmFzIEhhaG5mZWxkCiAgICAgICAgICBEYW5pZWwgSGFydHdpZwogICAgICAgICAgICAgIE5vIEl0 aXNudAogICAgICAgICAgICBOZWlsIEplcnJhbQpkaWZmIC0tZ2l0IGEvbGliZ3VpbGUvcmFuZG9t LmMgYi9saWJndWlsZS9yYW5kb20uYwppbmRleCA2M2RhN2Y1ZDYuLmFjNDAwYTlmZCAxMDA2NDQK LS0tIGEvbGliZ3VpbGUvcmFuZG9tLmMKKysrIGIvbGliZ3VpbGUvcmFuZG9tLmMKQEAgLTMyNCw5 ICszMjQsNyBAQCBzY21fY19yYW5kb21fYmlnbnVtIChzY21fdF9yc3RhdGUgKnN0YXRlLCBTQ00g bSkKICAgLyogd2Uga25vdyB0aGUgcmVzdWx0IHdpbGwgYmUgdGhpcyBiaWcgKi8KICAgbXB6X3Jl YWxsb2MyIChTQ01fSV9CSUdfTVBaIChyZXN1bHQpLCBtX2JpdHMpOwogCi0gIHJhbmRvbV9jaHVu a3MgPQotICAgICh1aW50MzJfdCAqKSBzY21fZ2NfY2FsbG9jIChudW1fY2h1bmtzICogc2l6ZW9m ICh1aW50MzJfdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJhbmRv bSBiaWdudW0gY2h1bmtzIik7CisgIHJhbmRvbV9jaHVua3MgPSAodWludDMyX3QgKikgc2NtX2Nh bGxvYyAobnVtX2NodW5rcyAqIHNpemVvZiAodWludDMyX3QpKTsKIAogICBkbwogICAgIHsKQEAg LTM2Myw5ICszNjEsNyBAQCBzY21fY19yYW5kb21fYmlnbnVtIChzY21fdF9yc3RhdGUgKnN0YXRl LCBTQ00gbSkKICAgICAgIC8qIGlmIHJlc3VsdCA+PSBtLCByZWdlbmVyYXRlIGl0IChpdCBpcyBp bXBvcnRhbnQgdG8gcmVnZW5lcmF0ZQogCSBhbGwgYml0cyBpbiBvcmRlciBub3QgdG8gZ2V0IGEg ZGlzdG9ydGVkIGRpc3RyaWJ1dGlvbikgKi8KICAgICB9IHdoaWxlIChtcHpfY21wIChTQ01fSV9C SUdfTVBaIChyZXN1bHQpLCBTQ01fSV9CSUdfTVBaIChtKSkgPj0gMCk7Ci0gIHNjbV9nY19mcmVl IChyYW5kb21fY2h1bmtzLAotICAgICAgICAgICAgICAgbnVtX2NodW5rcyAqIHNpemVvZiAodWlu dDMyX3QpLAotICAgICAgICAgICAgICAgInJhbmRvbSBiaWdudW0gY2h1bmtzIik7CisgIGZyZWUg KHJhbmRvbV9jaHVua3MpOwogICByZXR1cm4gc2NtX2lfbm9ybWJpZyAocmVzdWx0KTsKIH0KIApk aWZmIC0tZ2l0IGEvbGliZ3VpbGUvcmVnZXgtcG9zaXguYyBiL2xpYmd1aWxlL3JlZ2V4LXBvc2l4 LmMKaW5kZXggYTA4ZGEwMmRiLi4zNmJiNjM5ZTAgMTAwNjQ0Ci0tLSBhL2xpYmd1aWxlL3JlZ2V4 LXBvc2l4LmMKKysrIGIvbGliZ3VpbGUvcmVnZXgtcG9zaXguYwpAQCAtNjcsNyArNjcsNyBAQCBz dGF0aWMgc2l6ZV90CiByZWdleF9mcmVlIChTQ00gb2JqKQogewogICByZWdmcmVlIChTQ01fUkdY IChvYmopKTsKLSAgc2NtX2djX2ZyZWUgKFNDTV9SR1ggKG9iaiksIHNpemVvZihyZWdleF90KSwg InJlZ2V4Iik7CisgIGZyZWUgKFNDTV9SR1ggKG9iaikpOwogICByZXR1cm4gMDsKIH0KIApAQCAt MTY0LDcgKzE2NCw3IEBAIFNDTV9ERUZJTkUgKHNjbV9tYWtlX3JlZ2V4cCwgIm1ha2UtcmVnZXhw IiwgMSwgMCwgMSwKICAgICAgIGZsYWcgPSBTQ01fQ0RSIChmbGFnKTsKICAgICB9CiAKLSAgcngg PSBzY21fZ2NfbWFsbG9jX3BvaW50ZXJsZXNzIChzaXplb2YgKHJlZ2V4X3QpLCAicmVnZXgiKTsK KyAgcnggPSBzY21fbWFsbG9jIChzaXplb2YgKHJlZ2V4X3QpKTsKICAgY19wYXQgPSBzY21fdG9f bG9jYWxlX3N0cmluZyAocGF0KTsKICAgc3RhdHVzID0gcmVnY29tcCAocngsIGNfcGF0LAogCQkg ICAgLyogTWFrZSBzdXJlIHRoZXkncmUgbm90IHBhc3NpbmcgUkVHX05PU1VCOwpAQCAtMTc0LDcg KzE3NCw3IEBAIFNDTV9ERUZJTkUgKHNjbV9tYWtlX3JlZ2V4cCwgIm1ha2UtcmVnZXhwIiwgMSwg MCwgMSwKICAgaWYgKHN0YXR1cyAhPSAwKQogICAgIHsKICAgICAgIFNDTSBlcnJtc2cgPSBzY21f cmVnZXhwX2Vycm9yX21zZyAoc3RhdHVzLCByeCk7Ci0gICAgICBzY21fZ2NfZnJlZSAocngsIHNp emVvZihyZWdleF90KSwgInJlZ2V4Iik7CisgICAgICBmcmVlIChyeCk7CiAgICAgICBzY21fZXJy b3Jfc2NtIChzY21fcmVnZXhwX2Vycm9yX2tleSwKIAkJICAgICBzY21fZnJvbV91dGY4X3N0cmlu ZyAoRlVOQ19OQU1FKSwKIAkJICAgICBlcnJtc2csCmRpZmYgLS1naXQgYS90ZXN0LXN1aXRlL3N0 YW5kYWxvbmUvdGVzdC1zbW9iLW1hcmsuYyBiL3Rlc3Qtc3VpdGUvc3RhbmRhbG9uZS90ZXN0LXNt b2ItbWFyay5jCmluZGV4IDU4NmEyYjA4MS4uZWRiYjUxZjg5IDEwMDY0NAotLS0gYS90ZXN0LXN1 aXRlL3N0YW5kYWxvbmUvdGVzdC1zbW9iLW1hcmsuYworKysgYi90ZXN0LXN1aXRlL3N0YW5kYWxv bmUvdGVzdC1zbW9iLW1hcmsuYwpAQCAtNTYsNyArNTYsNyBAQCBtYWtlX3ggKCkKICAgeF90ICpj X3g7CiAKICAgaSsrOwotICBjX3ggPSAoeF90ICopIHNjbV9nY19tYWxsb2MgKHNpemVvZiAoeF90 KSwgIngiKTsKKyAgY194ID0gKHhfdCAqKSBzY21fbWFsbG9jIChzaXplb2YgKHhfdCkpOwogICBj X3gtPnNjbV92YWx1ZSA9IHNjbV9mcm9tX2ludCAoaSk7CiAgIGNfeC0+Y192YWx1ZSA9IGk7CiAg IFNDTV9ORVdTTU9CIChzX3gsIHhfdGFnLCBjX3gpOwpAQCAtNzgsNyArNzgsNyBAQCBmcmVlX3gg KFNDTSB4KQogewogICB4X3QgKmNfeDsKICAgY194ID0gKHhfdCAqKSBTQ01fU01PQl9EQVRBICh4 KTsKLSAgc2NtX2djX2ZyZWUgKGNfeCwgc2l6ZW9mICh4X3QpLCAieCIpOworICBmcmVlIChjX3gp OwogICBTQ01fU0VUX1NNT0JfREFUQSAoeCwgTlVMTCk7CiAgIHJldHVybiAwOwogfQotLSAKMi4z Mi4wCgo= --=-B74kntfzHYU2hFtmbP/N Content-Disposition: attachment; filename="0003-Delay-Java-finalization-for-guardians.patch" Content-Type: text/x-patch; name="0003-Delay-Java-finalization-for-guardians.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA2YmJiNzY2OTJhMjYwOTA5MThkZmVkNDJkNjdjNmJhNDJlNTRlMDM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hcyBIYWhuZmVsZCA8aGFobmpvQGhhaG5qby5kZT4KRGF0 ZTogRnJpLCAyIEp1bCAyMDIxIDIzOjE2OjMyICswMjAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIERl bGF5IEphdmEgZmluYWxpemF0aW9uIGZvciBndWFyZGlhbnMKCkl0IGlzIG9ubHkgbmVlZGVkIG9u Y2UgdGhlIGZpcnN0IGd1YXJkaWFuIGlzIGNyZWF0ZWQuCgoqIGxpYmd1aWxlL2d1YXJkaWFucy5j IChzY21fbWFrZV9ndWFyZGlhbik6IE1vdmUgY2FsbCB0byBlbmFibGUKICBKYXZhIGZpbmFsaXph dGlvbiBmcm9tIHNjbV9pbml0X2d1YXJkaWFucy4KLS0tCiBsaWJndWlsZS9ndWFyZGlhbnMuYyB8 IDEwICsrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliZ3VpbGUvZ3VhcmRpYW5zLmMgYi9saWJndWlsZS9ndWFy ZGlhbnMuYwppbmRleCBmYThjOGI4ZjcuLjM1N2M4ZGJkMSAxMDA2NDQKLS0tIGEvbGliZ3VpbGUv Z3VhcmRpYW5zLmMKKysrIGIvbGliZ3VpbGUvZ3VhcmRpYW5zLmMKQEAgLTMwNiw2ICszMDYsOCBA QCBndWFyZGlhbl9hcHBseSAoU0NNIGd1YXJkaWFuLCBTQ00gb2JqLCBTQ00gdGhyb3dfcCkKICAg ICByZXR1cm4gc2NtX2lfZ2V0X29uZV96b21iaWUgKGd1YXJkaWFuKTsKIH0KIAorc3RhdGljIHNj bV9pX3B0aHJlYWRfbXV0ZXhfdCBnY19qYXZhX211dGV4OworCiBTQ01fREVGSU5FIChzY21fbWFr ZV9ndWFyZGlhbiwgIm1ha2UtZ3VhcmRpYW4iLCAwLCAwLCAwLCAKIAkgICAgKCksCiAiQ3JlYXRl IGEgbmV3IGd1YXJkaWFuLiAgQSBndWFyZGlhbiBwcm90ZWN0cyBhIHNldCBvZiBvYmplY3RzIGZy b21cbiIKQEAgLTM0OSw2ICszNTEsMTEgQEAgU0NNX0RFRklORSAoc2NtX21ha2VfZ3VhcmRpYW4s ICJtYWtlLWd1YXJkaWFuIiwgMCwgMCwgMCwKIAkgICAgInZhbHVlLCBpdCBpcyBlbGlnaWJsZSB0 byBiZSByZXR1cm5lZCBmcm9tIGEgZ3VhcmRpYW4uXG4iKQogI2RlZmluZSBGVU5DX05BTUUgc19z Y21fbWFrZV9ndWFyZGlhbgogeworICAvKiBGb3IgZ3VhcmRpYW5zLCB3ZSB1c2UgdW5vcmRlcmVk IGZpbmFsaXphdGlvbiBgYSBsYSBKYXZhLiAqLworICBzY21faV9wdGhyZWFkX211dGV4X2xvY2sg KCZnY19qYXZhX211dGV4KTsKKyAgR0Nfc2V0X2phdmFfZmluYWxpemF0aW9uICgxKTsKKyAgc2Nt X2lfcHRocmVhZF9tdXRleF91bmxvY2sgKCZnY19qYXZhX211dGV4KTsKKwogICB0X2d1YXJkaWFu ICpnID0gc2NtX2djX21hbGxvYyAoc2l6ZW9mICh0X2d1YXJkaWFuKSwgImd1YXJkaWFuIik7CiAg IFNDTSB6OwogCkBAIC0zNjksOCArMzc2LDcgQEAgU0NNX0RFRklORSAoc2NtX21ha2VfZ3VhcmRp YW4sICJtYWtlLWd1YXJkaWFuIiwgMCwgMCwgMCwKIHZvaWQKIHNjbV9pbml0X2d1YXJkaWFucyAo KQogewotICAvKiBXZSB1c2UgdW5vcmRlcmVkIGZpbmFsaXphdGlvbiBgYSBsYSBKYXZhLiAgKi8K LSAgR0Nfc2V0X2phdmFfZmluYWxpemF0aW9uICgxKTsKKyAgc2NtX2lfcHRocmVhZF9tdXRleF9p bml0ICgmZ2NfamF2YV9tdXRleCwgTlVMTCk7CiAKICAgdGMxNl9ndWFyZGlhbiA9IHNjbV9tYWtl X3Ntb2JfdHlwZSAoImd1YXJkaWFuIiwgMCk7CiAKLS0gCjIuMzIuMAoK --=-B74kntfzHYU2hFtmbP/N-- --=-IJ7Q6OEi3/ha7VF15lo+ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEXw/5YGpL6H9VOgO2kcnDPSxhrNsFAmDwggwACgkQkcnDPSxh rNsh2Af8Dt9qpc5jcHFc4TRPU4UE67nS3Uur+l5ep4u/uegJDKeuRS4tSuugJUTK crNI68OvgbNiC3BDu+tsrSbiyh3kmGTKXoBJfU2uHubTEksoUdVGXAy3AIwnqilB GbNqph9w3rlgYmMD4BvWZjPkgTdCnupG6DXYFDr1b6Oa6QIiAFj6qb5YFjEMOg6A wmD51udXC4dH4SsFVTj0dcQHaGZmDJFWa2h338lOIB2azOnrvujF7/wYW8UFeyr+ uAcibkRt0w1YXvtouP6DY7CswfuRJ87qnr2rxAQvMPsZn5mT7IuKb/H4f0ilASwH 2vCoRveYuCIkki932I8KPeSiztN4ow== =l9Da -----END PGP SIGNATURE----- --=-IJ7Q6OEi3/ha7VF15lo+--