From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11102 invoked by alias); 13 May 2011 17:32:54 -0000 Received: (qmail 11092 invoked by uid 22791); 13 May 2011 17:32:52 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (74.125.121.67) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 13 May 2011 17:32:36 +0000 Received: from hpaq7.eem.corp.google.com (hpaq7.eem.corp.google.com [172.25.149.7]) by smtp-out.google.com with ESMTP id p4DHWX7B013431 for ; Fri, 13 May 2011 10:32:33 -0700 Received: from gxk26 (gxk26.prod.google.com [10.202.11.26]) by hpaq7.eem.corp.google.com with ESMTP id p4DHVL6n004809 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for ; Fri, 13 May 2011 10:32:32 -0700 Received: by gxk26 with SMTP id 26so1132370gxk.4 for ; Fri, 13 May 2011 10:32:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.150.211.10 with SMTP id j10mr1672474ybg.381.1305307951960; Fri, 13 May 2011 10:32:31 -0700 (PDT) Received: by 10.150.186.1 with HTTP; Fri, 13 May 2011 10:32:31 -0700 (PDT) In-Reply-To: References: <20110510204641.A4C73246199@ruffy.mtv.corp.google.com> <201105102230.29758.pedro@codesourcery.com> <20110511073900.GA1776@host1.jankratochvil.net> Date: Fri, 13 May 2011 17:32:00 -0000 Message-ID: Subject: Re: [RFA] Remove set debug lin-lwp-async, new ui_file.to_write_async_safe From: Doug Evans To: Jan Kratochvil , Pedro Alves Cc: gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=000e0cd3fb4ccc949704a32bb032 X-System-Of-Record: true X-IsSubscribed: yes 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 X-SW-Source: 2011-05/txt/msg00326.txt.bz2 --000e0cd3fb4ccc949704a32bb032 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1807 On Wed, May 11, 2011 at 8:49 AM, Doug Evans wrote: > On Wed, May 11, 2011 at 12:39 AM, Jan Kratochvil > wrote: >> On Wed, 11 May 2011 00:19:36 +0200, Doug Evans wrote: >>> If it became an issue, one could record fileno ahead of time. >> >> Isn't it simple enough in stdio_file_new? > > Sounds like what I would do. > >>> For gettext(), I'd be happy with just removing it for this particular c= ase. >> >> One can call it from _initialize_ui_file. =A0There are no catalogues now= but >> they should be. > > If it's important enough, sure. Here's the patch I checked in. 2011-05-13 Doug Evans * linux-nat.c (debug_linux_nat_async): Delete. Replace all references to use debug_linux_nat instead. (show_debug_linux_nat_async): Delete. (sigchld_handler): Call ui_file_write_async_safe instead of fprintf_unfiltered. (_initialize_linux_nat): Remove `set debug lin-lwp-async'. * ui-file.c (struct ui_file): New member to_write_async_safe. (null_file_write_async_safe): New function. (ui_file_write_async_safe): New function. (set_ui_file_write_async_safe): New function. (ui_file_new): Initialize to_write_async_safe. (stdio_file_write_async_safe): New function. (struct stdio_file): New member fd. (stdio_file_new): Initialize to_write_async_safe, fd. (stdio_file_read, stdio_file_isatty): New stdio->fd instead of calling fileno. * ui-file.h (ui_file_write_async_safe_ftype): New typedef. (set_ui_file_write_async_safe): Declare. (ui_file_write_async_safe): Declare. doc/ * gdb.texinfo (Completion): Update example. (Debugging Output): Delete `set/show debug lin-lwp-async'. --000e0cd3fb4ccc949704a32bb032 Content-Type: text/plain; charset=US-ASCII; name="gdb-110513-debug-lin-lwp-async-2.patch.txt" Content-Disposition: attachment; filename="gdb-110513-debug-lin-lwp-async-2.patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gnnelx380 Content-length: 16743 MjAxMS0wNS0xMyAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgoKCSog bGludXgtbmF0LmMgKGRlYnVnX2xpbnV4X25hdF9hc3luYyk6IERlbGV0ZS4K CVJlcGxhY2UgYWxsIHJlZmVyZW5jZXMgdG8gdXNlIGRlYnVnX2xpbnV4X25h dCBpbnN0ZWFkLgoJKHNob3dfZGVidWdfbGludXhfbmF0X2FzeW5jKTogRGVs ZXRlLgoJKHNpZ2NobGRfaGFuZGxlcik6IENhbGwgdWlfZmlsZV93cml0ZV9h c3luY19zYWZlIGluc3RlYWQgb2YKCWZwcmludGZfdW5maWx0ZXJlZC4KCShf aW5pdGlhbGl6ZV9saW51eF9uYXQpOiBSZW1vdmUgYHNldCBkZWJ1ZyBsaW4t bHdwLWFzeW5jJy4KCSogdWktZmlsZS5jIChzdHJ1Y3QgdWlfZmlsZSk6IE5l dyBtZW1iZXIgdG9fd3JpdGVfYXN5bmNfc2FmZS4KCShudWxsX2ZpbGVfd3Jp dGVfYXN5bmNfc2FmZSk6IE5ldyBmdW5jdGlvbi4KCSh1aV9maWxlX3dyaXRl X2FzeW5jX3NhZmUpOiBOZXcgZnVuY3Rpb24uCgkoc2V0X3VpX2ZpbGVfd3Jp dGVfYXN5bmNfc2FmZSk6IE5ldyBmdW5jdGlvbi4KCSh1aV9maWxlX25ldyk6 IEluaXRpYWxpemUgdG9fd3JpdGVfYXN5bmNfc2FmZS4KCShzdGRpb19maWxl X3dyaXRlX2FzeW5jX3NhZmUpOiBOZXcgZnVuY3Rpb24uCgkoc3RydWN0IHN0 ZGlvX2ZpbGUpOiBOZXcgbWVtYmVyIGZkLgoJKHN0ZGlvX2ZpbGVfbmV3KTog SW5pdGlhbGl6ZSB0b193cml0ZV9hc3luY19zYWZlLCBmZC4KCShzdGRpb19m aWxlX3JlYWQsIHN0ZGlvX2ZpbGVfaXNhdHR5KTogTmV3IHN0ZGlvLT5mZCBp bnN0ZWFkIG9mIGNhbGxpbmcgZmlsZW5vLgoJKiB1aS1maWxlLmggKHVpX2Zp bGVfd3JpdGVfYXN5bmNfc2FmZV9mdHlwZSk6IE5ldyB0eXBlZGVmLgoJKHNl dF91aV9maWxlX3dyaXRlX2FzeW5jX3NhZmUpOiBEZWNsYXJlLgoJKHVpX2Zp bGVfd3JpdGVfYXN5bmNfc2FmZSk6IERlY2xhcmUuCgoJZG9jLwoJKiBnZGIu dGV4aW5mbyAoQ29tcGxldGlvbik6IFVwZGF0ZSBleGFtcGxlLgoJKERlYnVn Z2luZyBPdXRwdXQpOiBEZWxldGUgYHNldC9zaG93IGRlYnVnIGxpbi1sd3At YXN5bmMnLgoKSW5kZXg6IGxpbnV4LW5hdC5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KUkNTIGZpbGU6IC9jdnMvc3JjL3NyYy9nZGIvbGludXgtbmF0LmMs dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjAzCmRpZmYgLXUgLXAgLXIxLjIw MyBsaW51eC1uYXQuYwotLS0gbGludXgtbmF0LmMJOSBNYXkgMjAxMSAxODo0 Mzo1NiAtMDAwMAkxLjIwMworKysgbGludXgtbmF0LmMJMTMgTWF5IDIwMTEg MTc6MTk6MzEgLTAwMDAKQEAgLTE5OCwxNiArMTk4LDYgQEAgc2hvd19kZWJ1 Z19saW51eF9uYXQgKHN0cnVjdCB1aV9maWxlICpmaQogCQkgICAgdmFsdWUp OwogfQogCi1zdGF0aWMgaW50IGRlYnVnX2xpbnV4X25hdF9hc3luYyA9IDA7 Ci1zdGF0aWMgdm9pZAotc2hvd19kZWJ1Z19saW51eF9uYXRfYXN5bmMgKHN0 cnVjdCB1aV9maWxlICpmaWxlLCBpbnQgZnJvbV90dHksCi0JCQkgICAgc3Ry dWN0IGNtZF9saXN0X2VsZW1lbnQgKmMsIGNvbnN0IGNoYXIgKnZhbHVlKQot ewotICBmcHJpbnRmX2ZpbHRlcmVkIChmaWxlLAotCQkgICAgXygiRGVidWdn aW5nIG9mIEdOVS9MaW51eCBhc3luYyBsd3AgbW9kdWxlIGlzICVzLlxuIiks Ci0JCSAgICB2YWx1ZSk7Ci19Ci0KIHN0YXRpYyBpbnQgZGlzYWJsZV9yYW5k b21pemF0aW9uID0gMTsKIAogc3RhdGljIHZvaWQKQEAgLTMyNjAsNyArMzI1 MCw3IEBAIGxpbnV4X25hdF93YWl0XzEgKHN0cnVjdCB0YXJnZXRfb3BzICpv cHMKICAgaW50IHN0YXR1cyA9IDA7CiAgIHBpZF90IHBpZDsKIAotICBpZiAo ZGVidWdfbGludXhfbmF0X2FzeW5jKQorICBpZiAoZGVidWdfbGludXhfbmF0 KQogICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgIkxMVzog ZW50ZXJcbiIpOwogCiAgIC8qIFRoZSBmaXJzdCB0aW1lIHdlIGdldCBoZXJl IGFmdGVyIHN0YXJ0aW5nIGEgbmV3IGluZmVyaW9yLCB3ZSBtYXkKQEAgLTMz MDMsNyArMzI5Myw3IEBAIHJldHJ5OgogICAgIHsKICAgICAgIG91cnN0YXR1 cy0+a2luZCA9IFRBUkdFVF9XQUlUS0lORF9JR05PUkU7CiAKLSAgICAgIGlm IChkZWJ1Z19saW51eF9uYXRfYXN5bmMpCisgICAgICBpZiAoZGVidWdfbGlu dXhfbmF0KQogCWZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgIkxM VzogZXhpdCAobm8gcmVzdW1lZCBMV1ApXG4iKTsKIAogICAgICAgcmVzdG9y ZV9jaGlsZF9zaWduYWxzX21hc2sgKCZwcmV2X21hc2spOwpAQCAtMzU0Niw3 ICszNTM2LDcgQEAgcmV0cnk6CiAJCSAgLyogTm8gaW50ZXJlc3RpbmcgZXZl bnQuICAqLwogCQkgIG91cnN0YXR1cy0+a2luZCA9IFRBUkdFVF9XQUlUS0lO RF9JR05PUkU7CiAKLQkJICBpZiAoZGVidWdfbGludXhfbmF0X2FzeW5jKQor CQkgIGlmIChkZWJ1Z19saW51eF9uYXQpCiAJCSAgICBmcHJpbnRmX3VuZmls dGVyZWQgKGdkYl9zdGRsb2csICJMTFc6IGV4aXQgKGlnbm9yZSlcbiIpOwog CiAJCSAgcmVzdG9yZV9jaGlsZF9zaWduYWxzX21hc2sgKCZwcmV2X21hc2sp OwpAQCAtMzU2MSw3ICszNTUxLDcgQEAgcmV0cnk6CiAJICAvKiBObyBpbnRl cmVzdGluZyBldmVudCBmb3IgUElEIHlldC4gICovCiAJICBvdXJzdGF0dXMt PmtpbmQgPSBUQVJHRVRfV0FJVEtJTkRfSUdOT1JFOwogCi0JICBpZiAoZGVi dWdfbGludXhfbmF0X2FzeW5jKQorCSAgaWYgKGRlYnVnX2xpbnV4X25hdCkK IAkgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiTExXOiBl eGl0IChpZ25vcmUpXG4iKTsKIAogCSAgcmVzdG9yZV9jaGlsZF9zaWduYWxz X21hc2sgKCZwcmV2X21hc2spOwpAQCAtMzY5MCw3ICszNjgwLDcgQEAgcmV0 cnk6CiAgIGVsc2UKICAgICBzdG9yZV93YWl0c3RhdHVzIChvdXJzdGF0dXMs IHN0YXR1cyk7CiAKLSAgaWYgKGRlYnVnX2xpbnV4X25hdF9hc3luYykKKyAg aWYgKGRlYnVnX2xpbnV4X25hdCkKICAgICBmcHJpbnRmX3VuZmlsdGVyZWQg KGdkYl9zdGRsb2csICJMTFc6IGV4aXRcbiIpOwogCiAgIHJlc3RvcmVfY2hp bGRfc2lnbmFsc19tYXNrICgmcHJldl9tYXNrKTsKQEAgLTU0MTYsOCArNTQw Niw5IEBAIHNpZ2NobGRfaGFuZGxlciAoaW50IHNpZ25vKQogewogICBpbnQg b2xkX2Vycm5vID0gZXJybm87CiAKLSAgaWYgKGRlYnVnX2xpbnV4X25hdF9h c3luYykKLSAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICJz aWdjaGxkXG4iKTsKKyAgaWYgKGRlYnVnX2xpbnV4X25hdCkKKyAgICB1aV9m aWxlX3dyaXRlX2FzeW5jX3NhZmUgKGdkYl9zdGRsb2csCisJCQkgICAgICAi c2lnY2hsZFxuIiwgc2l6ZW9mICgic2lnY2hsZFxuIikgLSAxKTsKIAogICBp ZiAoc2lnbm8gPT0gU0lHQ0hMRAogICAgICAgJiYgbGludXhfbmF0X2V2ZW50 X3BpcGVbMF0gIT0gLTEpCkBAIC01ODAxLDE1ICs1NzkyLDYgQEAgRW5hYmxl cyBwcmludGYgZGVidWdnaW5nIG91dHB1dC4iKSwKIAkJCSAgICBzaG93X2Rl YnVnX2xpbnV4X25hdCwKIAkJCSAgICAmc2V0ZGVidWdsaXN0LCAmc2hvd2Rl YnVnbGlzdCk7CiAKLSAgYWRkX3NldHNob3dfemludGVnZXJfY21kICgibGlu LWx3cC1hc3luYyIsIGNsYXNzX21haW50ZW5hbmNlLAotCQkJICAgICZkZWJ1 Z19saW51eF9uYXRfYXN5bmMsIF8oIlwKLVNldCBkZWJ1Z2dpbmcgb2YgR05V L0xpbnV4IGFzeW5jIGx3cCBtb2R1bGUuIiksIF8oIlwKLVNob3cgZGVidWdn aW5nIG9mIEdOVS9MaW51eCBhc3luYyBsd3AgbW9kdWxlLiIpLCBfKCJcCi1F bmFibGVzIHByaW50ZiBkZWJ1Z2dpbmcgb3V0cHV0LiIpLAotCQkJICAgIE5V TEwsCi0JCQkgICAgc2hvd19kZWJ1Z19saW51eF9uYXRfYXN5bmMsCi0JCQkg ICAgJnNldGRlYnVnbGlzdCwgJnNob3dkZWJ1Z2xpc3QpOwotCiAgIC8qIFNh dmUgdGhpcyBtYXNrIGFzIHRoZSBkZWZhdWx0LiAgKi8KICAgc2lncHJvY21h c2sgKFNJR19TRVRNQVNLLCBOVUxMLCAmbm9ybWFsX21hc2spOwogCkluZGV4 OiB1aS1maWxlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L2N2cy9zcmMvc3JjL2dkYi91aS1maWxlLmMsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMjYKZGlmZiAtdSAtcCAtcjEuMjYgdWktZmlsZS5jCi0tLSB1aS1m aWxlLmMJMTIgSmFuIDIwMTEgMDE6MjM6MjggLTAwMDAJMS4yNgorKysgdWkt ZmlsZS5jCTEzIE1heSAyMDExIDE3OjE5OjMxIC0wMDAwCkBAIC0zMCw2ICsz MCw3IEBACiAKIHN0YXRpYyB1aV9maWxlX2lzYXR0eV9mdHlwZSBudWxsX2Zp bGVfaXNhdHR5Owogc3RhdGljIHVpX2ZpbGVfd3JpdGVfZnR5cGUgbnVsbF9m aWxlX3dyaXRlOworc3RhdGljIHVpX2ZpbGVfd3JpdGVfZnR5cGUgbnVsbF9m aWxlX3dyaXRlX2FzeW5jX3NhZmU7CiBzdGF0aWMgdWlfZmlsZV9mcHV0c19m dHlwZSBudWxsX2ZpbGVfZnB1dHM7CiBzdGF0aWMgdWlfZmlsZV9yZWFkX2Z0 eXBlIG51bGxfZmlsZV9yZWFkOwogc3RhdGljIHVpX2ZpbGVfZmx1c2hfZnR5 cGUgbnVsbF9maWxlX2ZsdXNoOwpAQCAtNDIsNiArNDMsNyBAQCBzdHJ1Y3Qg dWlfZmlsZQogICAgIGludCAqbWFnaWM7CiAgICAgdWlfZmlsZV9mbHVzaF9m dHlwZSAqdG9fZmx1c2g7CiAgICAgdWlfZmlsZV93cml0ZV9mdHlwZSAqdG9f d3JpdGU7CisgICAgdWlfZmlsZV93cml0ZV9hc3luY19zYWZlX2Z0eXBlICp0 b193cml0ZV9hc3luY19zYWZlOwogICAgIHVpX2ZpbGVfZnB1dHNfZnR5cGUg KnRvX2ZwdXRzOwogICAgIHVpX2ZpbGVfcmVhZF9mdHlwZSAqdG9fcmVhZDsK ICAgICB1aV9maWxlX2RlbGV0ZV9mdHlwZSAqdG9fZGVsZXRlOwpAQCAtNjEs NiArNjMsNyBAQCB1aV9maWxlX25ldyAodm9pZCkKICAgc2V0X3VpX2ZpbGVf ZGF0YSAoZmlsZSwgTlVMTCwgbnVsbF9maWxlX2RlbGV0ZSk7CiAgIHNldF91 aV9maWxlX2ZsdXNoIChmaWxlLCBudWxsX2ZpbGVfZmx1c2gpOwogICBzZXRf dWlfZmlsZV93cml0ZSAoZmlsZSwgbnVsbF9maWxlX3dyaXRlKTsKKyAgc2V0 X3VpX2ZpbGVfd3JpdGVfYXN5bmNfc2FmZSAoZmlsZSwgbnVsbF9maWxlX3dy aXRlX2FzeW5jX3NhZmUpOwogICBzZXRfdWlfZmlsZV9mcHV0cyAoZmlsZSwg bnVsbF9maWxlX2ZwdXRzKTsKICAgc2V0X3VpX2ZpbGVfcmVhZCAoZmlsZSwg bnVsbF9maWxlX3JlYWQpOwogICBzZXRfdWlfZmlsZV9pc2F0dHkgKGZpbGUs IG51bGxfZmlsZV9pc2F0dHkpOwpAQCAtMTU1LDYgKzE1OCwxNCBAQCBudWxs X2ZpbGVfZnB1dHMgKGNvbnN0IGNoYXIgKmJ1Ziwgc3RydWN0CiB9CiAKIHN0 YXRpYyB2b2lkCitudWxsX2ZpbGVfd3JpdGVfYXN5bmNfc2FmZSAoc3RydWN0 IHVpX2ZpbGUgKmZpbGUsCisJCQkgICAgY29uc3QgY2hhciAqYnVmLAorCQkJ ICAgIGxvbmcgc2l6ZW9mX2J1ZikKK3sKKyAgcmV0dXJuOworfQorCitzdGF0 aWMgdm9pZAogbnVsbF9maWxlX2RlbGV0ZSAoc3RydWN0IHVpX2ZpbGUgKmZp bGUpCiB7CiAgIHJldHVybjsKQEAgLTIwMyw2ICsyMTQsMTQgQEAgdWlfZmls ZV93cml0ZSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsCiAgIGZpbGUtPnRvX3dy aXRlIChmaWxlLCBidWYsIGxlbmd0aF9idWYpOwogfQogCit2b2lkCit1aV9m aWxlX3dyaXRlX2FzeW5jX3NhZmUgKHN0cnVjdCB1aV9maWxlICpmaWxlLAor CQkJICBjb25zdCBjaGFyICpidWYsCisJCQkgIGxvbmcgbGVuZ3RoX2J1ZikK K3sKKyAgZmlsZS0+dG9fd3JpdGVfYXN5bmNfc2FmZSAoZmlsZSwgYnVmLCBs ZW5ndGhfYnVmKTsKK30KKwogbG9uZwogdWlfZmlsZV9yZWFkIChzdHJ1Y3Qg dWlfZmlsZSAqZmlsZSwgY2hhciAqYnVmLCBsb25nIGxlbmd0aF9idWYpCiB7 CkBAIC0yNDcsNiArMjY2LDEzIEBAIHNldF91aV9maWxlX3dyaXRlIChzdHJ1 Y3QgdWlfZmlsZSAqZmlsZSwKIH0KIAogdm9pZAorc2V0X3VpX2ZpbGVfd3Jp dGVfYXN5bmNfc2FmZSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsCisJCQkgICAg ICB1aV9maWxlX3dyaXRlX2FzeW5jX3NhZmVfZnR5cGUgKndyaXRlX2FzeW5j X3NhZmUpCit7CisgIGZpbGUtPnRvX3dyaXRlX2FzeW5jX3NhZmUgPSB3cml0 ZV9hc3luY19zYWZlOworfQorCit2b2lkCiBzZXRfdWlfZmlsZV9yZWFkIChz dHJ1Y3QgdWlfZmlsZSAqZmlsZSwgdWlfZmlsZV9yZWFkX2Z0eXBlICpyZWFk KQogewogICBmaWxlLT50b19yZWFkID0gcmVhZDsKQEAgLTQzNyw2ICs0NjMs NyBAQCBtZW1fZmlsZV93cml0ZSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsCiAg ICA8c3RkaW8uaD4ncyBGSUxFLiAgKi8KIAogc3RhdGljIHVpX2ZpbGVfd3Jp dGVfZnR5cGUgc3RkaW9fZmlsZV93cml0ZTsKK3N0YXRpYyB1aV9maWxlX3dy aXRlX2FzeW5jX3NhZmVfZnR5cGUgc3RkaW9fZmlsZV93cml0ZV9hc3luY19z YWZlOwogc3RhdGljIHVpX2ZpbGVfZnB1dHNfZnR5cGUgc3RkaW9fZmlsZV9m cHV0czsKIHN0YXRpYyB1aV9maWxlX3JlYWRfZnR5cGUgc3RkaW9fZmlsZV9y ZWFkOwogc3RhdGljIHVpX2ZpbGVfaXNhdHR5X2Z0eXBlIHN0ZGlvX2ZpbGVf aXNhdHR5OwpAQCAtNDUwLDYgKzQ3Nyw5IEBAIHN0cnVjdCBzdGRpb19maWxl CiAgIHsKICAgICBpbnQgKm1hZ2ljOwogICAgIEZJTEUgKmZpbGU7CisgICAg LyogVGhlIGFzc29jaWF0ZWQgZmlsZSBkZXNjcmlwdG9yIGlzIGV4dHJhY3Rl ZCBhaGVhZCBvZiB0aW1lIGZvcgorICAgICAgIHN0ZGlvX2ZpbGVfd3JpdGVf YXN5bmNfc2FmZSdzIGJlbmVmaXQsIGluIGNhc2UgZmlsZW5vIGlzbid0IGFz eW5jLXNhZmUuICAqLworICAgIGludCBmZDsKICAgICBpbnQgY2xvc2VfcDsK ICAgfTsKIApAQCAtNDYxLDEwICs0OTEsMTIgQEAgc3RkaW9fZmlsZV9uZXcg KEZJTEUgKmZpbGUsIGludCBjbG9zZV9wKQogCiAgIHN0ZGlvLT5tYWdpYyA9 ICZzdGRpb19maWxlX21hZ2ljOwogICBzdGRpby0+ZmlsZSA9IGZpbGU7Cisg IHN0ZGlvLT5mZCA9IGZpbGVubyAoZmlsZSk7CiAgIHN0ZGlvLT5jbG9zZV9w ID0gY2xvc2VfcDsKICAgc2V0X3VpX2ZpbGVfZGF0YSAodWlfZmlsZSwgc3Rk aW8sIHN0ZGlvX2ZpbGVfZGVsZXRlKTsKICAgc2V0X3VpX2ZpbGVfZmx1c2gg KHVpX2ZpbGUsIHN0ZGlvX2ZpbGVfZmx1c2gpOwogICBzZXRfdWlfZmlsZV93 cml0ZSAodWlfZmlsZSwgc3RkaW9fZmlsZV93cml0ZSk7CisgIHNldF91aV9m aWxlX3dyaXRlX2FzeW5jX3NhZmUgKHVpX2ZpbGUsIHN0ZGlvX2ZpbGVfd3Jp dGVfYXN5bmNfc2FmZSk7CiAgIHNldF91aV9maWxlX2ZwdXRzICh1aV9maWxl LCBzdGRpb19maWxlX2ZwdXRzKTsKICAgc2V0X3VpX2ZpbGVfcmVhZCAodWlf ZmlsZSwgc3RkaW9fZmlsZV9yZWFkKTsKICAgc2V0X3VpX2ZpbGVfaXNhdHR5 ICh1aV9maWxlLCBzdGRpb19maWxlX2lzYXR0eSk7CkBAIC01MTAsMTYgKzU0 MiwxNCBAQCBzdGRpb19maWxlX3JlYWQgKHN0cnVjdCB1aV9maWxlICpmaWxl LCBjCiAgICAgIHRoZSBmaWxlLiAgV2FpdCB1bnRpbCBhdCBsZWFzdCBvbmUg Ynl0ZSBvZiBkYXRhIGlzIGF2YWlsYWJsZS4KICAgICAgQ29udHJvbC1DIGNh biBpbnRlcnJ1cHQgZ2RiX3NlbGVjdCwgYnV0IG5vdCByZWFkLiAgKi8KICAg ewotICAgIGludCBmZCA9IGZpbGVubyAoc3RkaW8tPmZpbGUpOwotCiAgICAg ZmRfc2V0IHJlYWRmZHM7CiAgICAgRkRfWkVSTyAoJnJlYWRmZHMpOwotICAg IEZEX1NFVCAoZmQsICZyZWFkZmRzKTsKLSAgICBpZiAoZ2RiX3NlbGVjdCAo ZmQgKyAxLCAmcmVhZGZkcywgTlVMTCwgTlVMTCwgTlVMTCkgPT0gLTEpCisg ICAgRkRfU0VUIChzdGRpby0+ZmQsICZyZWFkZmRzKTsKKyAgICBpZiAoZ2Ri X3NlbGVjdCAoc3RkaW8tPmZkICsgMSwgJnJlYWRmZHMsIE5VTEwsIE5VTEws IE5VTEwpID09IC0xKQogICAgICAgcmV0dXJuIC0xOwogICB9CiAKLSAgcmV0 dXJuIHJlYWQgKGZpbGVubyAoc3RkaW8tPmZpbGUpLCBidWYsIGxlbmd0aF9i dWYpOworICByZXR1cm4gcmVhZCAoc3RkaW8tPmZkLCBidWYsIGxlbmd0aF9i dWYpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtNTM2LDYgKzU2NiwyNCBAQCBz dGRpb19maWxlX3dyaXRlIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgCiB9CiAK IHN0YXRpYyB2b2lkCitzdGRpb19maWxlX3dyaXRlX2FzeW5jX3NhZmUgKHN0 cnVjdCB1aV9maWxlICpmaWxlLAorCQkJICAgICBjb25zdCBjaGFyICpidWYs IGxvbmcgbGVuZ3RoX2J1ZikKK3sKKyAgc3RydWN0IHN0ZGlvX2ZpbGUgKnN0 ZGlvID0gdWlfZmlsZV9kYXRhIChmaWxlKTsKKworICBpZiAoc3RkaW8tPm1h Z2ljICE9ICZzdGRpb19maWxlX21hZ2ljKQorICAgIHsKKyAgICAgIC8qIGdl dHRleHQgaXNuJ3QgbmVjZXNzYXJpbHkgYXN5bmMgc2FmZSwgc28gd2UgY2Fu J3QgdXNlIF8oImVycm9yIG1lc3NhZ2UiKSBoZXJlLgorCSBXZSBjb3VsZCBl eHRyYWN0IHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIGFoZWFkIG9mIHRpbWUs IGJ1dCB0aGlzIGlzIGFuIGV4dHJlbWVseQorCSByYXJlIGV2ZW50LCBhbmQg b25lIG9mIHRoZSBvdGhlciBzdGRpb19maWxlXyogcm91dGluZXMgd2lsbCBw cmVzdW1hYmx5IGNhdGNoCisJIHRoZSBwcm9ibGVtIGFueXdheS4gIEZvciBu b3cga2VlcCBpdCBzaW1wbGUgYW5kIGlnbm9yZSB0aGUgZXJyb3IgaGVyZS4g ICovCisgICAgICByZXR1cm47CisgICAgfQorCisgIHdyaXRlIChzdGRpby0+ ZmQsIGJ1ZiwgbGVuZ3RoX2J1Zik7Cit9CisKK3N0YXRpYyB2b2lkCiBzdGRp b19maWxlX2ZwdXRzIChjb25zdCBjaGFyICpsaW5lYnVmZmVyLCBzdHJ1Y3Qg dWlfZmlsZSAqZmlsZSkKIHsKICAgc3RydWN0IHN0ZGlvX2ZpbGUgKnN0ZGlv ID0gdWlfZmlsZV9kYXRhIChmaWxlKTsKQEAgLTU1Niw3ICs2MDQsNyBAQCBz dGRpb19maWxlX2lzYXR0eSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUpCiAgIGlm IChzdGRpby0+bWFnaWMgIT0gJnN0ZGlvX2ZpbGVfbWFnaWMpCiAgICAgaW50 ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKIAkJICAgIF8oInN0 ZGlvX2ZpbGVfaXNhdHR5OiBiYWQgbWFnaWMgbnVtYmVyIikpOwotICByZXR1 cm4gKGlzYXR0eSAoZmlsZW5vIChzdGRpby0+ZmlsZSkpKTsKKyAgcmV0dXJu IChpc2F0dHkgKHN0ZGlvLT5mZCkpOwogfQogCiAvKiBMaWtlIGZkb3Blbigp LiAgQ3JlYXRlIGEgdWlfZmlsZSBmcm9tIGEgcHJldmlvdXNseSBvcGVuZWQg RklMRS4gICovCkluZGV4OiB1aS1maWxlLmgKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL2dkYi91aS1maWxlLmgsdgpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTYKZGlmZiAtdSAtcCAtcjEuMTYgdWkt ZmlsZS5oCi0tLSB1aS1maWxlLmgJMjcgRmViIDIwMTEgMTY6MjU6MzcgLTAw MDAJMS4xNgorKysgdWktZmlsZS5oCTEzIE1heSAyMDExIDE3OjE5OjMxIC0w MDAwCkBAIC00NSw2ICs0NSwxNyBAQCB0eXBlZGVmIHZvaWQgKHVpX2ZpbGVf ZnB1dHNfZnR5cGUpIChjb25zCiBleHRlcm4gdm9pZCBzZXRfdWlfZmlsZV9m cHV0cyAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKIAkJCSAgICAgICB1aV9m aWxlX2ZwdXRzX2Z0eXBlICpmcHV0cyk7CiAKKy8qIFRoaXMgdmVyc2lvbiBv ZiAid3JpdGUiIGlzIHNhZmUgZm9yIHVzZSBpbiBzaWduYWwgaGFuZGxlcnMu CisgICBJdCdzIG5vdCBndWFyYW50ZWVkIHRoYXQgYWxsIGV4aXN0aW5nIG91 dHB1dCB3aWxsIGhhdmUgYmVlbgorICAgZmx1c2hlZCBmaXJzdC4KKyAgIElt cGxlbWVudGF0aW9ucyBhcmUgYWxzbyBmcmVlIHRvIGlnbm9yZSBzb21lIG9y IGFsbCBvZiB0aGUgcmVxdWVzdC4KKyAgIGZwdXRzX2FzeW5jIGlzIG5vdCBw cm92aWRlZCBhcyB0aGUgYXN5bmMgdmVyc2lvbnMgYXJlIHJhcmVseSB1c2Vk LAorICAgbm8gcG9pbnQgaW4gaGF2aW5nIGJvdGggZm9yIGEgcmFyZWx5IHVz ZWQgaW50ZXJmYWNlLiAgKi8KK3R5cGVkZWYgdm9pZCAodWlfZmlsZV93cml0 ZV9hc3luY19zYWZlX2Z0eXBlKQorICAoc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgY29uc3QgY2hhciAqYnVmLCBsb25nIGxlbmd0aF9idWYpOworZXh0ZXJu IHZvaWQgc2V0X3VpX2ZpbGVfd3JpdGVfYXN5bmNfc2FmZQorICAoc3RydWN0 IHVpX2ZpbGUgKnN0cmVhbSwgdWlfZmlsZV93cml0ZV9hc3luY19zYWZlX2Z0 eXBlICp3cml0ZV9hc3luY19zYWZlKTsKKwogdHlwZWRlZiBsb25nICh1aV9m aWxlX3JlYWRfZnR5cGUpIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAogCQkJ CSAgIGNoYXIgKmJ1ZiwgbG9uZyBsZW5ndGhfYnVmKTsKIGV4dGVybiB2b2lk IHNldF91aV9maWxlX3JlYWQgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCkBA IC04Myw2ICs5NCw5IEBAIGV4dGVybiBpbnQgdWlfZmlsZV9pc2F0dHkgKHN0 cnVjdCB1aV9maWwKIGV4dGVybiB2b2lkIHVpX2ZpbGVfd3JpdGUgKHN0cnVj dCB1aV9maWxlICpmaWxlLCBjb25zdCBjaGFyICpidWYsCiAJCQkgICBsb25n IGxlbmd0aF9idWYpOwogCitleHRlcm4gdm9pZCB1aV9maWxlX3dyaXRlX2Fz eW5jX3NhZmUgKHN0cnVjdCB1aV9maWxlICpmaWxlLCBjb25zdCBjaGFyICpi dWYsCisJCQkJICAgICAgbG9uZyBsZW5ndGhfYnVmKTsKKwogLyogTk9URTog Y29waWVzIGxlZnQgdG8gcmlnaHQuICAqLwogZXh0ZXJuIHZvaWQgdWlfZmls ZV9wdXQgKHN0cnVjdCB1aV9maWxlICpzcmMsCiAJCQkgdWlfZmlsZV9wdXRf bWV0aG9kX2Z0eXBlICp3cml0ZSwgdm9pZCAqZGVzdCk7CkluZGV4OiBkb2Mv Z2RiLnRleGluZm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L2N2cy9zcmMvc3JjL2dkYi9kb2MvZ2RiLnRleGluZm8sdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuODM0CmRpZmYgLXUgLXAgLXIxLjgzNCBnZGIudGV4aW5m bwotLS0gZG9jL2dkYi50ZXhpbmZvCTEyIE1heSAyMDExIDEyOjA5OjE2IC0w MDAwCTEuODM0CisrKyBkb2MvZ2RiLnRleGluZm8JMTMgTWF5IDIwMTEgMTc6 MTk6MzIgLTAwMDAKQEAgLTE1OTIsOCArMTU5MiwxMCBAQCBsZWZ0LWhhbmQt c2lkZToKIAogQHNtYWxsZXhhbXBsZQogKEB2YWx1ZXtHREJQfSkgcCBnZGJf c3Rkb3V0LkBrYmR7TS0/fQotbWFnaWMgICAgICB0b19kZWxldGUgIHRvX2Zw dXRzICAgdG9fcHV0ICAgICB0b19yZXdpbmQgIAotdG9fZGF0YSAgICB0b19m bHVzaCAgIHRvX2lzYXR0eSAgdG9fcmVhZCAgICB0b193cml0ZSAgIAorbWFn aWMgICAgICAgICAgICAgICAgdG9fZnB1dHMgICAgICAgICAgICAgdG9fcmV3 aW5kCit0b19kYXRhICAgICAgICAgICAgICB0b19pc2F0dHkgICAgICAgICAg ICB0b193cml0ZQordG9fZGVsZXRlICAgICAgICAgICAgdG9fcHV0ICAgICAg ICAgICAgICAgdG9fd3JpdGVfYXN5bmNfc2FmZQordG9fZmx1c2ggICAgICAg ICAgICAgdG9fcmVhZAogQGVuZCBzbWFsbGV4YW1wbGUKIAogQG5vaW5kZW50 CkBAIC0xNjA3LDYgKzE2MDksNyBAQCBzdHJ1Y3QgdWlfZmlsZQogICAgaW50 ICptYWdpYzsKICAgIHVpX2ZpbGVfZmx1c2hfZnR5cGUgKnRvX2ZsdXNoOwog ICAgdWlfZmlsZV93cml0ZV9mdHlwZSAqdG9fd3JpdGU7CisgICB1aV9maWxl X3dyaXRlX2FzeW5jX3NhZmVfZnR5cGUgKnRvX3dyaXRlX2FzeW5jX3NhZmU7 CiAgICB1aV9maWxlX2ZwdXRzX2Z0eXBlICp0b19mcHV0czsKICAgIHVpX2Zp bGVfcmVhZF9mdHlwZSAqdG9fcmVhZDsKICAgIHVpX2ZpbGVfZGVsZXRlX2Z0 eXBlICp0b19kZWxldGU7CkBAIC0yMDA3MSwxMiArMjAwNzQsNiBAQCBEaXNw bGF5cyB0aGUgY3VycmVudCBzdGF0ZSBvZiBAdmFsdWV7R0RCCiBUdXJucyBv biBvciBvZmYgZGVidWdnaW5nIG1lc3NhZ2VzIGZyb20gdGhlIExpbnV4IExX UCBkZWJ1ZyBzdXBwb3J0LgogQGl0ZW0gc2hvdyBkZWJ1ZyBsaW4tbHdwCiBT aG93IHRoZSBjdXJyZW50IHN0YXRlIG9mIExpbnV4IExXUCBkZWJ1Z2dpbmcg bWVzc2FnZXMuCi1AaXRlbSBzZXQgZGVidWcgbGluLWx3cC1hc3luYwotQGNp bmRleCBAc2N7Z251fS9MaW51eCBMV1AgYXN5bmMgZGVidWcgbWVzc2FnZXMK LUBjaW5kZXggTGludXggbGlnaHR3ZWlnaHQgcHJvY2Vzc2VzCi1UdXJucyBv biBvciBvZmYgZGVidWdnaW5nIG1lc3NhZ2VzIGZyb20gdGhlIExpbnV4IExX UCBhc3luYyBkZWJ1ZyBzdXBwb3J0LgotQGl0ZW0gc2hvdyBkZWJ1ZyBsaW4t bHdwLWFzeW5jCi1TaG93IHRoZSBjdXJyZW50IHN0YXRlIG9mIExpbnV4IExX UCBhc3luYyBkZWJ1Z2dpbmcgbWVzc2FnZXMuCiBAaXRlbSBzZXQgZGVidWcg b2JzZXJ2ZXIKIEBjaW5kZXggb2JzZXJ2ZXIgZGVidWdnaW5nIGluZm8KIFR1 cm5zIG9uIG9yIG9mZiBkaXNwbGF5IG9mIEB2YWx1ZXtHREJOfSBvYnNlcnZl ciBkZWJ1Z2dpbmcuICBUaGlzCg== --000e0cd3fb4ccc949704a32bb032--