From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 37779 invoked by alias); 10 Aug 2016 17:54:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 37722 invoked by uid 89); 10 Aug 2016 17:54:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.8 required=5.0 tests=AWL,BAYES_95,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 spammy=H*r:sk:broadba, 10082016, 10.08.2016, *fn X-HELO: mail-wm0-f52.google.com Received: from mail-wm0-f52.google.com (HELO mail-wm0-f52.google.com) (74.125.82.52) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 10 Aug 2016 17:54:38 +0000 Received: by mail-wm0-f52.google.com with SMTP id o80so120297566wme.1 for ; Wed, 10 Aug 2016 10:54:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to; bh=2bFYnEatewuH/4TwYnm4CkdrrBvFp1fAMxCEYY1Qp8E=; b=OJdJwx5p+BQh5QQqO/ISCkpKzFgZrAg5gf8qrPJYAUnfx8uDkMZIZCOWY3zAhxPT89 5nEyS2gTToY+v4+PW5CbbW2+bVqx/g2o45DROLYRLMsRNH/amJW62WEnHdAGs4Ma3eAv D6wBL/rvNM5N13QpHLwyR+nvL05HFyn6AACqo9AhzD4WPDskK3zN2UKrUHmtRwCXtwhl zIJoaWE/klxqrSOrqWLTnh2izOd9WCbH7b/CP9nFp4mWrBjKg/w7eXkbc7JLkst9RXc3 BpVybI9f31afCKLGsTq3ciiuuzzMJCfyA8YhGs3MZ7Y3i+fpFUYASkBRmfyvQw2fRcef Pl8g== X-Gm-Message-State: AEkoousg2e4enN6cxBVN5z9Kbbb1/S5Rzw/rai7QsQRPGy7xtdaihri6tgksH4enHvTHDA== X-Received: by 10.25.87.2 with SMTP id l2mr861630lfb.170.1470851675052; Wed, 10 Aug 2016 10:54:35 -0700 (PDT) Received: from [192.168.4.39] (broadband-95-84-200-6.nationalcablenetworks.ru. [95.84.200.6]) by smtp.gmail.com with ESMTPSA id f22sm7787555lji.13.2016.08.10.10.54.33 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 Aug 2016 10:54:34 -0700 (PDT) Subject: Re: Program-assigned thread names on Windows To: gdb-patches@sourceware.org References: <5052d495-ea40-b364-96ea-9e68c90bd747@gmail.com> <14995502.J10EtrK3xV@ralph.baldwin.cx> <6a3446f9-63dc-67a1-3702-203d77c8d85d@gmail.com> <0cabec98-8411-2c3a-98d0-3d950de02bc5@gmail.com> <28023f06-f99c-77d1-10cf-5243f2a082a4@gmail.com> <0e59216f-77cb-608a-aa39-578c2610eda1@dronecode.org.uk> <0f064b2b-6b51-f132-caa6-a4c1a85585a3@gmail.com> <2c9f43ec-af6f-cdaf-8e45-b251588b9b89@gmail.com> <0515957c-dfd2-b119-d423-517917e8a5cd@gmail.com> <40aaee01-35a5-9d3f-ceae-2bf4ca53a7b9@gmail.com> <83twf3md9t.fsf@gnu.org> <96ea9dc1-ce52-532d-d733-97af33bb70b4@gmail.com> From: LRN Message-ID: Date: Wed, 10 Aug 2016 17:54:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Thunderbird/51.0a1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="aE9KDfiRvATuvu9aqkVvVbNWvIH3vRBpc" X-IsSubscribed: yes X-SW-Source: 2016-08/txt/msg00123.txt.bz2 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --aE9KDfiRvATuvu9aqkVvVbNWvIH3vRBpc Content-Type: multipart/mixed; boundary="5PDA20OiTs66Nu3TRxSIFjrf6WJ1ivrbE" From: LRN To: gdb-patches@sourceware.org Message-ID: Subject: Re: Program-assigned thread names on Windows References: <5052d495-ea40-b364-96ea-9e68c90bd747@gmail.com> <14995502.J10EtrK3xV@ralph.baldwin.cx> <6a3446f9-63dc-67a1-3702-203d77c8d85d@gmail.com> <0cabec98-8411-2c3a-98d0-3d950de02bc5@gmail.com> <28023f06-f99c-77d1-10cf-5243f2a082a4@gmail.com> <0e59216f-77cb-608a-aa39-578c2610eda1@dronecode.org.uk> <0f064b2b-6b51-f132-caa6-a4c1a85585a3@gmail.com> <2c9f43ec-af6f-cdaf-8e45-b251588b9b89@gmail.com> <0515957c-dfd2-b119-d423-517917e8a5cd@gmail.com> <40aaee01-35a5-9d3f-ceae-2bf4ca53a7b9@gmail.com> <83twf3md9t.fsf@gnu.org> <96ea9dc1-ce52-532d-d733-97af33bb70b4@gmail.com> In-Reply-To: --5PDA20OiTs66Nu3TRxSIFjrf6WJ1ivrbE Content-Type: multipart/mixed; boundary="------------CE0EAB6968FB0EDB41D3DE15" Content-Language: en-US This is a multi-part message in MIME format. --------------CE0EAB6968FB0EDB41D3DE15 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 1344 On 10.08.2016 15:15, Pedro Alves wrote: > On 08/10/2016 08:11 AM, LRN wrote: >> No one seems to object. >> >=20 > I was going to apply your patches, so I squashed them all, and > only after did I notice the problems, so I went ahead and did > the changes. I also fixed a couple typos in the commit log. >=20 > Could you give this updated patch a try? I build-tested it using > a cross compiler, but haven't tried it out on Windows. Curses! I've been reading your message like a set of last-minute nitpicks, fixing things in my patch as i went along. I got to the named_thread->name and overriding "thread name" part, then went ahead and fixed that too. Then got to the end of the email and found out that you've done that already! :-\ Good job, me... Anyway, i've applied your patch. gdb compiles. threadname-setting functionality works as expected: "thread name X" has precedence, "thread name" (with no name) allows app-assigned name (if any) to be shown once aga= in. I've also applied my version of the patch. gdb also compiles. threadname-setting functionality also works as expected. Therefore i'm attaching my version, in case you find it useful. I've only tested 32-bit version of gdb (hoping that none of the recent changes touch anything architecture-dependent). --=20 O< ascii ribbon - stop html email! - www.asciiribbon.org --------------CE0EAB6968FB0EDB41D3DE15 Content-Type: text/plain; charset=UTF-8; name="0001-Support-settings-thread-name-MS-Windows.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Support-settings-thread-name-MS-Windows.patch" Content-length: 9793 RnJvbSAzNGMwNWU2ZWI2ZTlkOTQ3MDBmOGRjOTY5NWEyMTRmZGY2ZmFiYWVh IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUQw PUEwPUQxPTgzPUQxPTgxPUQwPUJCPUQwPUIwPUQwPUJEPTIwPUQwPTk4PUQw PUI2PUQwPUIxPz0KID0/VVRGLTg/cT89RDE9ODM9RDA9QkI9RDA9QjA9RDE9 ODI9RDA9QkU9RDA9QjI/PSA8bHJuMTk4NkBnbWFpbC5jb20+CkRhdGU6IFN1 biwgMjYgSnVuIDIwMTYgMTE6MTQ6NDkgKzAwMDAKU3ViamVjdDogW1BBVENI IDEvM10gU3VwcG9ydCBzZXR0aW5ncyB0aHJlYWQgbmFtZSAoTVMtV2luZG93 cykKClRoaXMgaXMgZG9uZSBieSBjYXRjaGluZyBhbiBleGNlcHRpb24gbnVt YmVyIDB4NDA2RDEzODgKKGl0IGhhcyBubyBkb2N1bWVudGVkIG5hbWUsIHRo b3VnaCBNU0ROIGR1YnMgaXQgIk1TX1ZDX0VYQ0VQVElPTiIKaW4gb25lIGNv ZGUgZXhhbXBsZSksIHdoaWNoIGlzIHRocm93biBieSB0aGUgcHJvZ3JhbS4K VGhlIGV4Y2VwdGlvbiByZWNvcmQgY29udGFpbnMgYW4gSUQgb2YgYSB0aHJl YWQgYW5kIGEgbmFtZSB0bwpnaXZlIGl0LgoKVGhpcyByZXF1aXJlcyByb2xs aW5nIGJhY2sgc29tZSBjaGFuZ2VzIGluIGhhbmRsZV9leGNlcHRpb24oKSwK d2hpY2ggbm93IGFnYWluIHJldHVybnMgbW9yZSB0aGFuIHR3byBkaXN0aW5j dCB2YWx1ZXMuIFRoZSB2YWx1ZQpIQU5ETEVfRVhDRVBUSU9OX0lHTk9SRUQg bWVhbnMgdGhhdCBnZGIgc2hvdWxkIGp1c3QgY29udGludWUsCndpdGhvdXQg cmV0dXJuaW5nIHRocmVhZCBJRCB1cCB0aGUgc3RhY2sgKHdoaWNoIHdpbGwg cmVzdWx0CmluIGZ1cnRoZXIgaGFuZGxpbmcgb2YgdGhlIGV4Y2VwdGlvbiwg d2hpY2ggaXMgbm90IHdoYXQgd2Ugd2FudCkuCi0tLQogZ2RiL3dpbmRvd3Mt bmF0LmMgfCAxMjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTA3IGlu c2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dk Yi93aW5kb3dzLW5hdC5jIGIvZ2RiL3dpbmRvd3MtbmF0LmMKaW5kZXggM2Y2 NzQ4Ni4uNjMxNTMwMyAxMDA2NDQKLS0tIGEvZ2RiL3dpbmRvd3MtbmF0LmMK KysrIGIvZ2RiL3dpbmRvd3MtbmF0LmMKQEAgLTE3NCw2ICsxNzQsMTggQEAg c3RhdGljIGludCBkZWJ1Z19yZWdpc3RlcnNfdXNlZDsKIHN0YXRpYyBpbnQg d2luZG93c19pbml0aWFsaXphdGlvbl9kb25lOwogI2RlZmluZSBEUjZfQ0xF QVJfVkFMVUUgMHhmZmZmMGZmMAogCisvKiBUaGlzIGV4Y2VwdGlvbiBoYXMg bm8gZG9jdW1lbnRlZCBuYW1lLCBidXQgTVNETiBkdWJzIGl0ICJNU19WQ19F WENFUFRJT04iCisgICBpbiBvbmUgY29kZSBleGFtcGxlLiBJdCdzIHRocm93 biBieSBhIHByb2dyYW0gdG8gdGVsbCB0aGUgZGVidWdnZXIgdGhlIG5hbWUK KyAgIG9mIGEgdGhyZWFkLiAqLworI2RlZmluZSBNU19WQ19FWENFUFRJT04g MHg0MDZkMTM4OAorCit0eXBlZGVmIGVudW0KK3sKKyAgSEFORExFX0VYQ0VQ VElPTl9VTkhBTkRMRUQgPSAwLAorICBIQU5ETEVfRVhDRVBUSU9OX0hBTkRM RUQsCisgIEhBTkRMRV9FWENFUFRJT05fSUdOT1JFRAorfSBoYW5kbGVfZXhj ZXB0aW9uX3Jlc3VsdDsKKwogLyogVGhlIHN0cmluZyBzZW50IGJ5IGN5Z3dp biB3aGVuIGl0IHByb2Nlc3NlcyBhIHNpZ25hbC4KICAgIEZJWE1FOiBUaGlz IHNob3VsZCBiZSBpbiBhIGN5Z3dpbiBpbmNsdWRlIGZpbGUuICAqLwogI2lm bmRlZiBfQ1lHV0lOX1NJR05BTF9TVFJJTkcKQEAgLTQ0MSw2ICs0NTMsNyBA QCB3aW5kb3dzX2RlbGV0ZV90aHJlYWQgKHB0aWRfdCBwdGlkLCBEV09SRCBl eGl0X2NvZGUpCiAgICAgewogICAgICAgd2luZG93c190aHJlYWRfaW5mbyAq aGVyZSA9IHRoLT5uZXh0OwogICAgICAgdGgtPm5leHQgPSBoZXJlLT5uZXh0 OworICAgICAgeGZyZWUgKGhlcmUtPm5hbWUpOwogICAgICAgeGZyZWUgKGhl cmUpOwogICAgIH0KIH0KQEAgLTEwMzEsMTAgKzEwNDQsMTIgQEAgZGlzcGxh eV9zZWxlY3RvcnMgKGNoYXIgKiBhcmdzLCBpbnQgZnJvbV90dHkpCiAgICAg aG9zdF9hZGRyZXNzX3RvX3N0cmluZyAoXAogICAgICAgY3VycmVudF9ldmVu dC51LkV4Y2VwdGlvbi5FeGNlcHRpb25SZWNvcmQuRXhjZXB0aW9uQWRkcmVz cykpCiAKLXN0YXRpYyBpbnQKK3N0YXRpYyBoYW5kbGVfZXhjZXB0aW9uX3Jl c3VsdAogaGFuZGxlX2V4Y2VwdGlvbiAoc3RydWN0IHRhcmdldF93YWl0c3Rh dHVzICpvdXJzdGF0dXMpCiB7Ci0gIERXT1JEIGNvZGUgPSBjdXJyZW50X2V2 ZW50LnUuRXhjZXB0aW9uLkV4Y2VwdGlvblJlY29yZC5FeGNlcHRpb25Db2Rl OworICBFWENFUFRJT05fUkVDT1JEICpyZWMgPSAmY3VycmVudF9ldmVudC51 LkV4Y2VwdGlvbi5FeGNlcHRpb25SZWNvcmQ7CisgIERXT1JEIGNvZGUgPSBy ZWMtPkV4Y2VwdGlvbkNvZGU7CisgIGhhbmRsZV9leGNlcHRpb25fcmVzdWx0 IHJlc3VsdCA9IEhBTkRMRV9FWENFUFRJT05fSEFORExFRDsKIAogICBvdXJz dGF0dXMtPmtpbmQgPSBUQVJHRVRfV0FJVEtJTkRfU1RPUFBFRDsKIApAQCAt MTA1NywxNCArMTA3MiwxMyBAQCBoYW5kbGVfZXhjZXB0aW9uIChzdHJ1Y3Qg dGFyZ2V0X3dhaXRzdGF0dXMgKm91cnN0YXR1cykKIAkgICBjeWd3aW4tc3Bl Y2lmaWMtc2lnbmFsLiAgU28sIGlnbm9yZSBTRUdWcyBpZiB0aGV5IHNob3cg dXAKIAkgICB3aXRoaW4gdGhlIHRleHQgc2VnbWVudCBvZiB0aGUgRExMIGl0 c2VsZi4gICovCiAJY29uc3QgY2hhciAqZm47Ci0JQ09SRV9BRERSIGFkZHIg PSAoQ09SRV9BRERSKSAodWludHB0cl90KQotCSAgY3VycmVudF9ldmVudC51 LkV4Y2VwdGlvbi5FeGNlcHRpb25SZWNvcmQuRXhjZXB0aW9uQWRkcmVzczsK KwlDT1JFX0FERFIgYWRkciA9IChDT1JFX0FERFIpICh1aW50cHRyX3QpIHJl Yy0+RXhjZXB0aW9uQWRkcmVzczsKIAogCWlmICgoIWN5Z3dpbl9leGNlcHRp b25zICYmIChhZGRyID49IGN5Z3dpbl9sb2FkX3N0YXJ0CiAJCQkJICAgICYm IGFkZHIgPCBjeWd3aW5fbG9hZF9lbmQpKQogCSAgICB8fCAoZmluZF9wY19w YXJ0aWFsX2Z1bmN0aW9uIChhZGRyLCAmZm4sIE5VTEwsIE5VTEwpCiAJCSYm IHN0YXJ0c3dpdGggKGZuLCAiS0VSTkVMMzIhSXNCYWQiKSkpCi0JICByZXR1 cm4gMDsKKwkgIHJldHVybiBIQU5ETEVfRVhDRVBUSU9OX1VOSEFORExFRDsK ICAgICAgIH0KICNlbmRpZgogICAgICAgYnJlYWs7CkBAIC0xMTQwLDIwICsx MTU0LDY0IEBAIGhhbmRsZV9leGNlcHRpb24gKHN0cnVjdCB0YXJnZXRfd2Fp dHN0YXR1cyAqb3Vyc3RhdHVzKQogICAgICAgREVCVUdfRVhDRVBUSU9OX1NJ TVBMRSAoIkVYQ0VQVElPTl9OT05DT05USU5VQUJMRV9FWENFUFRJT04iKTsK ICAgICAgIG91cnN0YXR1cy0+dmFsdWUuc2lnID0gR0RCX1NJR05BTF9JTEw7 CiAgICAgICBicmVhazsKKyAgICBjYXNlIE1TX1ZDX0VYQ0VQVElPTjoKKyAg ICAgIGlmIChyZWMtPk51bWJlclBhcmFtZXRlcnMgPj0gMworICAgICAgICAg ICYmIChyZWMtPkV4Y2VwdGlvbkluZm9ybWF0aW9uWzBdICYgMHhmZmZmZmZm ZikgPT0gMHgxMDAwKQorCXsKKwkgIGxvbmcgbmFtZWRfdGhyZWFkX2lkOwor CSAgd2luZG93c190aHJlYWRfaW5mbyAqbmFtZWRfd2luZG93c190aHJlYWQ7 CisJICBDT1JFX0FERFIgdGhyZWFkX25hbWVfdGFyZ2V0OworCSAgY2hhciAq dGhyZWFkX25hbWU7CisJICBpbnQgdGhyZWFkX25hbWVfbGVuOworCisJICBE RUJVR19FWENFUFRJT05fU0lNUExFICgiTVNfVkNfRVhDRVBUSU9OIik7CisK KwkgIG5hbWVkX3RocmVhZF9pZCA9IChsb25nKSAoMHhmZmZmZmZmZiAmIHJl Yy0+RXhjZXB0aW9uSW5mb3JtYXRpb25bMl0pOworCSAgdGhyZWFkX25hbWVf dGFyZ2V0ID0gcmVjLT5FeGNlcHRpb25JbmZvcm1hdGlvblsxXTsKKworCSAg aWYgKG5hbWVkX3RocmVhZF9pZCA9PSAoRFdPUkQpIC0xKQorCSAgICBuYW1l ZF90aHJlYWRfaWQgPSBjdXJyZW50X2V2ZW50LmR3VGhyZWFkSWQ7CisKKwkg IG5hbWVkX3dpbmRvd3NfdGhyZWFkID0gdGhyZWFkX3JlYyAobmFtZWRfdGhy ZWFkX2lkLCAwKTsKKworCSAgdGhyZWFkX25hbWUgPSBOVUxMOworCSAgdGhy ZWFkX25hbWVfbGVuID0gMDsKKworCSAgaWYgKG5hbWVkX3dpbmRvd3NfdGhy ZWFkICE9IE5VTEwpCisJICAgIHRocmVhZF9uYW1lX2xlbiA9IHRhcmdldF9y ZWFkX3N0cmluZyAodGhyZWFkX25hbWVfdGFyZ2V0LAorCQkJCQkgICAgICAg ICAgJnRocmVhZF9uYW1lLCAxMDI1LCAwKTsKKworCSAgaWYgKHRocmVhZF9u YW1lX2xlbiA+IDAgJiYgdGhyZWFkX25hbWUgIT0gTlVMTCkKKwkgICAgewor CSAgICAgIHRocmVhZF9uYW1lW3RocmVhZF9uYW1lX2xlbiAtIDFdID0gJ1ww JzsKKwkgICAgICBpZiAodGhyZWFkX25hbWVbMF0gIT0gJ1wwJykKKwkJewor CQkgIHhmcmVlIChuYW1lZF93aW5kb3dzX3RocmVhZC0+bmFtZSk7CisJCSAg bmFtZWRfd2luZG93c190aHJlYWQtPm5hbWUgPSB0aHJlYWRfbmFtZTsKKwkJ fQorCSAgICAgIGVsc2UKKwkJeworCQkgIHhmcmVlICh0aHJlYWRfbmFtZSk7 CisJCX0KKwkgICAgfQorCSAgb3Vyc3RhdHVzLT52YWx1ZS5zaWcgPSBHREJf U0lHTkFMX1RSQVA7CisJICByZXN1bHQgPSBIQU5ETEVfRVhDRVBUSU9OX0lH Tk9SRUQ7CisJICBicmVhazsKKwl9CisJLyogdHJlYXQgaW1wcm9wZXJseSBm b3JtZWQgZXhjZXB0aW9uIGFzIHVua25vd24sIGZhbGx0aHJvdWdoICovCiAg ICAgZGVmYXVsdDoKICAgICAgIC8qIFRyZWF0IHVuaGFuZGxlZCBmaXJzdCBj aGFuY2UgZXhjZXB0aW9ucyBzcGVjaWFsbHkuICAqLwogICAgICAgaWYgKGN1 cnJlbnRfZXZlbnQudS5FeGNlcHRpb24uZHdGaXJzdENoYW5jZSkKLQlyZXR1 cm4gMDsKKwlyZXR1cm4gSEFORExFX0VYQ0VQVElPTl9VTkhBTkRMRUQ7CiAg ICAgICBwcmludGZfdW5maWx0ZXJlZCAoImdkYjogdW5rbm93biB0YXJnZXQg ZXhjZXB0aW9uIDB4JTA4eCBhdCAlc1xuIiwKLQkodW5zaWduZWQpIGN1cnJl bnRfZXZlbnQudS5FeGNlcHRpb24uRXhjZXB0aW9uUmVjb3JkLkV4Y2VwdGlv bkNvZGUsCi0JaG9zdF9hZGRyZXNzX3RvX3N0cmluZyAoCi0JICBjdXJyZW50 X2V2ZW50LnUuRXhjZXB0aW9uLkV4Y2VwdGlvblJlY29yZC5FeGNlcHRpb25B ZGRyZXNzKSk7CisJKHVuc2lnbmVkKSByZWMtPkV4Y2VwdGlvbkNvZGUsCisJ aG9zdF9hZGRyZXNzX3RvX3N0cmluZyAocmVjLT5FeGNlcHRpb25BZGRyZXNz KSk7CiAgICAgICBvdXJzdGF0dXMtPnZhbHVlLnNpZyA9IEdEQl9TSUdOQUxf VU5LTk9XTjsKICAgICAgIGJyZWFrOwogICAgIH0KICAgZXhjZXB0aW9uX2Nv dW50Kys7CiAgIGxhc3Rfc2lnID0gb3Vyc3RhdHVzLT52YWx1ZS5zaWc7Ci0g IHJldHVybiAxOworICByZXR1cm4gcmVzdWx0OwogfQogCiAvKiBSZXN1bWUg dGhyZWFkIHNwZWNpZmllZCBieSBJRCwgb3IgYWxsIGFydGlmaWNpYWxseSBz dXNwZW5kZWQKQEAgLTE1MTAsMTAgKzE1NjgsMTkgQEAgZ2V0X3dpbmRvd3Nf ZGVidWdfZXZlbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsCiAJCSAgICAg IkVYQ0VQVElPTl9ERUJVR19FVkVOVCIpKTsKICAgICAgIGlmIChzYXdfY3Jl YXRlICE9IDEpCiAJYnJlYWs7Ci0gICAgICBpZiAoaGFuZGxlX2V4Y2VwdGlv biAob3Vyc3RhdHVzKSkKLQl0aHJlYWRfaWQgPSBjdXJyZW50X2V2ZW50LmR3 VGhyZWFkSWQ7Ci0gICAgICBlbHNlCi0JY29udGludWVfc3RhdHVzID0gREJH X0VYQ0VQVElPTl9OT1RfSEFORExFRDsKKyAgICAgIHN3aXRjaCAoaGFuZGxl X2V4Y2VwdGlvbiAob3Vyc3RhdHVzKSkKKwl7CisJY2FzZSBIQU5ETEVfRVhD RVBUSU9OX1VOSEFORExFRDoKKwlkZWZhdWx0OgorCSAgY29udGludWVfc3Rh dHVzID0gREJHX0VYQ0VQVElPTl9OT1RfSEFORExFRDsKKwkgIGJyZWFrOwor CWNhc2UgSEFORExFX0VYQ0VQVElPTl9IQU5ETEVEOgorCSAgdGhyZWFkX2lk ID0gY3VycmVudF9ldmVudC5kd1RocmVhZElkOworCSAgYnJlYWs7CisJY2Fz ZSBIQU5ETEVfRVhDRVBUSU9OX0lHTk9SRUQ6CisJICBjb250aW51ZV9zdGF0 dXMgPSBEQkdfQ09OVElOVUU7CisJICBicmVhazsKKwl9CiAgICAgICBicmVh azsKIAogICAgIGNhc2UgT1VUUFVUX0RFQlVHX1NUUklOR19FVkVOVDoJLyog TWVzc2FnZSBmcm9tIHRoZSBrZXJuZWwuICAqLwpAQCAtMjUxNCw2ICsyNTgx LDMxIEBAIHdpbmRvd3NfZ2V0X2FkYV90YXNrX3B0aWQgKHN0cnVjdCB0YXJn ZXRfb3BzICpzZWxmLCBsb25nIGx3cCwgbG9uZyB0aHJlYWQpCiAgIHJldHVy biBwdGlkX2J1aWxkIChwdGlkX2dldF9waWQgKGluZmVyaW9yX3B0aWQpLCAw LCBsd3ApOwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqCit3aW5kb3dzX2dl dF90aHJlYWRfbmFtZSAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIHN0cnVj dCB0aHJlYWRfaW5mbyAqdGhyKQoreworICBzdHJ1Y3QgdGhyZWFkX2luZm8g KnRocmVhZGluZm87CisgIHdpbmRvd3NfdGhyZWFkX2luZm8gKndpbmRvd3Nf dGhyZWFkaW5mbzsKKyAgRFdPUkQgaWQgPSBwdGlkX2dldF90aWQgKHRoci0+ cHRpZCk7CisgIGNoYXIgKm5hbWU7CisKKyAgbmFtZSA9IE5VTEw7CisgIHRo cmVhZGluZm8gPSBmaW5kX3RocmVhZF9wdGlkICh0aHItPnB0aWQpOworCisg IGlmICh0aHJlYWRpbmZvICE9IE5VTEwpCisgICAgbmFtZSA9IHRocmVhZGlu Zm8tPm5hbWU7CisKKyAgaWYgKG5hbWUgPT0gTlVMTCAmJiBpZCAhPSAwKQor ICAgIHsKKyAgICAgIHdpbmRvd3NfdGhyZWFkaW5mbyA9IHRocmVhZF9yZWMg KGlkLCAwKTsKKworICAgICAgaWYgKHdpbmRvd3NfdGhyZWFkaW5mbyAhPSBO VUxMKQorICAgICAgICBuYW1lID0gd2luZG93c190aHJlYWRpbmZvLT5uYW1l OworICAgIH0KKworICByZXR1cm4gKGNvbnN0IGNoYXIgKikgbmFtZTsKK30K Kwogc3RhdGljIHN0cnVjdCB0YXJnZXRfb3BzICoKIHdpbmRvd3NfdGFyZ2V0 ICh2b2lkKQogewpAQCAtMjUzOCw2ICsyNjMwLDcgQEAgd2luZG93c190YXJn ZXQgKHZvaWQpCiAgIHQtPnRvX3BpZF90b19leGVjX2ZpbGUgPSB3aW5kb3dz X3BpZF90b19leGVjX2ZpbGU7CiAgIHQtPnRvX2dldF9hZGFfdGFza19wdGlk ID0gd2luZG93c19nZXRfYWRhX3Rhc2tfcHRpZDsKICAgdC0+dG9fZ2V0X3Rp Yl9hZGRyZXNzID0gd2luZG93c19nZXRfdGliX2FkZHJlc3M7CisgIHQtPnRv X3RocmVhZF9uYW1lID0gd2luZG93c19nZXRfdGhyZWFkX25hbWU7CiAKICAg cmV0dXJuIHQ7CiB9Ci0tIAoyLjQuMAoK --------------CE0EAB6968FB0EDB41D3DE15 Content-Type: application/pgp-keys; name="0x6759BA74.asc" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0x6759BA74.asc" Content-length: 3718 -----BEGIN PGP PUBLIC KEY BLOCK-----=0A= Version: GnuPG v2=0A= =0A= mQINBFd+4e0BEACxh5wQhm5pG3DMdXokYTZYyncAc0MGQkuCG7+0CUa06VW+qVz3=0A= x+wkWRSJSbFrltSzNpKY67kOGPc1b7e1V4vIQ5ubNSYNOnwqFedEorBCyA6jvpfE=0A= vmLHcWJyK6emZC2s09ToxN1ovzcJBkQMgpJNYj4jZHdHEJ0PD+qEp7bKTXlxzWXM=0A= oHjPdykSLPDuTzQ1Gi09OakKhzOUvg+3Lgqo1aAf+r8HtysM19wUE06h1BYpsMo/=0A= gP87w/uhyqrqqAPBb3tpJtAhw8OcUREsJ4GC5zsp80eHy7IS6LIrPB3nf9XyIxvd=0A= 5qql9y1XclbB/sTGfD2Z27gYLLqFDIlYxXKT1z999yGN71gXYoLi9wbqpP0VSbdh=0A= tr8LVhGiuP+BPNq1y62wKyBKpJulBq2TnYWhukYowI1tCkCFeL1F0yG2M0RTvo3P=0A= dUp6YSHiNbuvgiFzoow2YVCPW+w2MBFR2S1Si72Yegq2+tf5Dd0mSOEKOhaChz/X=0A= L3gFlbjgaF0qA879Q/8pppjdsmwDY+q48WV4NnI3bPsTlZ6dKnI0ZMpct9Kfi7E5=0A= dmexGdOCde4RbEs4dOsdMhjFl9B1YQPjKpTmh7FtoTDJqMklZEAzBr+pEDb7BorM=0A= Beh2aHsJ0Z7Qd52BCaUAIuPUXjwXDI4qzf7UyWLFS66BkeDXBRDRWaRL5QARAQAB=0A= tBdMUk4gPGxybjE5ODZAZ21haWwuY29tPokCPwQTAQgAKQUCV37h7QIbIwUJCWYB=0A= gAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEI2t6SdnWbp0qtoQAIjcnzeN=0A= riwftAfLsnXKYBrxmdbfPsmu4G7cQxsabst841sOrvWFPHTkEZk/xpfyQgxpZEiB=0A= 8uF82XKNbHNh9+nWqiDyt/Y9v23IIt1fIodOuB1q3Jdbh7nraflgzeji91rR3BuP=0A= mKcbpX+t4zlOg2RNh3dG+xoY91C5gXXWqBZ73kyGDHkpp2jGFXNStzdlcR4qLBiV=0A= dbtXfU/mnmB3tFuojx/zgL71816G2toBZzeWT/6c7UnmrubarvbNIVPbYufM0Xzw=0A= 7sK1y+i6p+QnZPZJ7nytINAVAZJ3pxle1Ajwb5p4QAVSsau78iG04/9cNU+gtftT=0A= kwNOIJ0LDnj+S6A58uLIr2Ebl4Jr4g0MPlw74CsUIspQz9sb6/yANLQ98kz3PrUa=0A= MpodI2dNpV8UROoJ/t96ys755FcEb/09SDJcTUx7QlPukgoq4mrWqB59kVID7CKq=0A= HRRDanuoyR/+ITDUxXUEUIJkWGYzUfKzjI8ditBCI6zxNftWCaiw5XkrEEpctvzS=0A= CBbNE7KjAoFbZDnsXHgg9xZWpAzYYP6aCmBvpjISMGihXbw1oS6mJvvHTFSzjTvX=0A= QHShvyO8XLI7Q+NwrYV+mVNvtBX+mQaTsQdS9knSpoHHO/N0QlCUzbnPIEOVKjN6=0A= Hw7bcBokYeI0ez3yMZlf/bU/yyMRfxskOqxciQEcBBMBCAAGBQJXfuIzAAoJEOs4=0A= Jb6SI2CwxPgIAJtQBb/79MSdZZb3kggOC0ClZ7WDRSdP31R272gdckcbqVqm7vMl=0A= 0OZxQH5G4QRuFNLMSJG5ytf//qoxYj5CmvQS5NkP/sgnMaHvjHG+jRaBfB9t00Um=0A= h24BBL04Ac0lv3eiBc64nUJT37dEBUNEE8fgQ67gnV1hacqybVXqWIm1RXluL+Un=0A= fdFsbD6KWHLY2uPrARXdLYT7veUPnEgziw4s/2AVrGHiSgNZV1Z8pFMsuiUGpCRr=0A= 1K0r8b6hP3nxa0xxzk83NrKI6ZL1Jyhlqe7dLSWaSVofHk9WmcARZ+hJ/PlP+9N5=0A= Fd5ZuJ9R5t8C0gUB5v1ID4vPxt/YFCeiVJy5Ag0EV37h7QEQAKcbtHNm2vc6aYgR=0A= /eK0cJmJOqV3S0PtXychIV6zYj2/DppUOttsQN39nEgTBui1QFYfVgYNv3S0DBZY=0A= ESSijTLrzyCbzYL9AL/OzIgo++m8F0lERhhMKsVKtdZWLBflkQgPgCpMdwqhGdRP=0A= 5WrximbRtHN7JD4TCfupCqepefqvxyYv/pHYcDTFEycEChkRgCpc88tTxNdAyd2+=0A= F7lfvMxsgGmNcMa5IzIm1GXjKQONyiMffmjYT0Sod/AS/RA7z3aTv9/2Sm4TLgae=0A= 4BtV+ZU39VMkfA8c2DsnVi4zVKOBho7MH/Lwar2bQwKZ8U1TKhKDwK0Q1eYTq+3U=0A= Nc6Rk/9QolYpYup7/lH5wWppPvipqlltTQa6F0csD6AIc9W7rO7RVFo+lqvrEZAw=0A= AUXrRCTFtBijg715eZenDzS0QZw9WtQ6ufhsAamap6hJQmIZD3HdWdrHCT1TQ/Tt=0A= JzPAyIYbRbKCe2hoxUojF0A/P1ZL90kf/OZPQ6Oisl5XMyuyiJFgVbdbXYMJ+f+k=0A= 3pTrVxB9vASmGxX3LXCxVJAZ9xJWdBC73VK7rwit0tA8ijekrmkhSjZlIZCKvDYA=0A= j9fV4O6QXRuuFZKo4xGYWCIPFwe802jOrbvQw8YT5CgN7hGMUyHV/GCH50uUoVJD=0A= andFGy7hvTckfXk85oXARMswdyQ3ABEBAAGJAiUEGAEIAA8FAld+4e0CGwwFCQlm=0A= AYAACgkQja3pJ2dZunQeVQ/9FtseE5WqnmvPGc5NPGvbWhrd5x9CpStPG9b+xsBu=0A= 91ZXrMHsNOVQ0SxFdB708OT15sTy1ldeemxUK62E5XO1bvFJ4R1gHkWe6K/j9TfG=0A= Fshbyl3J6WKwG2qwT2JpNVpb+6QShFZVRe9a1rn3D/DNZurj3XYgVQGWlYVYT/LA=0A= 32zmBjQEzSXMbDBR/wSiJzYqgTB+9udGkcrYVgrmNz5YSA2mp6l1+PH/i++FD4j/=0A= KWFVnmqt1QqT8Q0l4MYQH65MdzHdspwfMt0XZ5abnubWIO78ImbOA/CD7MwbuWvy=0A= zezkiDcqQQ2G8mu/ER3oByfQ84iMIxGv1V608EBddHWygd6YQIKdScay0D+54IUz=0A= DXyv9tcnAAnxvMM5wzJyjWytOwL2H7FvSVAtfdywaF2wZA0iHho5Df8OeZdPEZhF=0A= 85GngH3hOBE0EAUMSFwThhRU7a2oMLSTFXRg0bKC3n0MoNExAV/oKiSM5HC06PsP=0A= exONpT/8WHL6GRk6vfsj09m7qScZSvyX35TxggnEHNwNW5/aYKIuhsXohxhLkUqM=0A= Bzu9/Xdq0xPOTyJSTberO8LR1TdWwi2WtPEBOtD25VMtEwhHrX3BKBkmYVu5f7vr=0A= CZikOLr7N8a5zJHJIiEdA2uljajBVTkPRCbMVsIBN2VVPcY2YOyNmG4gAtYmuDRL=0A= rb8=3D=0A= =3D8FDv=0A= -----END PGP PUBLIC KEY BLOCK-----=0A= --------------CE0EAB6968FB0EDB41D3DE15-- --5PDA20OiTs66Nu3TRxSIFjrf6WJ1ivrbE-- --aE9KDfiRvATuvu9aqkVvVbNWvIH3vRBpc Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-length: 819 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXq2pZAAoJEI2t6SdnWbp0BrQP/iKb+3zt1R0sRC+lCh3iraE6 NNkN4srOJS3Tb1LBUoGAFBz8oXriRWB5yDVSJtI8cv2QIevRJpcCZdVEdTQZTPkq phI2cHHCBJXS/J10t5iLebeIOOo1lfljeSpbDSmtsB69mnmwkwWjcs9+3QW/5rIu XW0YapkclK5aYffeVtJRHmwvG+nvYe7qm1UdQZajXeC8hUDmW2kkjPsYNC+r6jpl aHp2dIfxwhdJII1bsTYcbMlUCNJ5fWQ3cJeCye3z6cohrUdx0NEpYw4YJoH9M5qL +qegFIg6CB/2ZRha7WXHdtte0WW7kCSEHfGkh6ON4yMkbKo3gZ/YYZUzoYrTrf0x UDDAmS/Ezvn5QHyeheRDzmF4HB56ix0WCMfvr0uYvfl1nS/fPP3gTKqhgRZSgqLl 51NbUgcn7ngs9WW/PMR/lAftkrl9O6VjA0vHSjztloluNj5mmssk1ZCfvF8LYsnA xk8uhGBBDA+9zdq9phf5ENIp4nB7WDoG+lqHvobw8JY6V9+BiIOThuIURr0g3UJ7 2kY/0QROxa+/o27io8pKrB06HCMfK533olCKfDhyDTT5TS2vs0//ltXQB1rurHaJ xfHEOFUg/+b///P1yZ4dQTCJ15Jxiyl/danqJC0GUVFR+Q+XnuFP9CqpFGqMLShj Be5faGnrTQ4DtC9ss+yz =6gJ1 -----END PGP SIGNATURE----- --aE9KDfiRvATuvu9aqkVvVbNWvIH3vRBpc--