From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#8855: Fix backported to Emacs 24 Date: Wed, 21 Nov 2012 15:50:59 -0800 Organization: UCLA Computer Science Department Message-ID: <50AD68E3.2020309@cs.ucla.edu> References: <50AD56C9.5040100@cornell.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080304050505010700030303" X-Trace: ger.gmane.org 1353541915 19954 80.91.229.3 (21 Nov 2012 23:51:55 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 21 Nov 2012 23:51:55 +0000 (UTC) To: 8855@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 22 00:52:06 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TbK5K-0007p9-12 for geb-bug-gnu-emacs@m.gmane.org; Thu, 22 Nov 2012 00:52:02 +0100 Original-Received: from localhost ([::1]:48595 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TbK59-0005vI-La for geb-bug-gnu-emacs@m.gmane.org; Wed, 21 Nov 2012 18:51:51 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:52096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TbK55-0005vC-Mr for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2012 18:51:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TbK53-00053T-RR for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2012 18:51:47 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:49641) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TbK53-00052w-NT for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2012 18:51:45 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TbK6I-000169-ES for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2012 18:53:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 21 Nov 2012 23:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8855 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 8855-submit@debbugs.gnu.org id=B8855.13535419424135 (code B ref 8855); Wed, 21 Nov 2012 23:53:02 +0000 Original-Received: (at 8855) by debbugs.gnu.org; 21 Nov 2012 23:52:22 +0000 Original-Received: from localhost ([127.0.0.1]:59892 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TbK5c-00014d-Tw for submit@debbugs.gnu.org; Wed, 21 Nov 2012 18:52:21 -0500 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:49004) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TbK5Y-00014O-Pf for 8855@debbugs.gnu.org; Wed, 21 Nov 2012 18:52:19 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id B064FA60008 for <8855@debbugs.gnu.org>; Wed, 21 Nov 2012 15:50:58 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MLZxFYlMMxaZ for <8855@debbugs.gnu.org>; Wed, 21 Nov 2012 15:50:57 -0800 (PST) Original-Received: from [192.168.1.3] (pool-71-189-154-249.lsanca.fios.verizon.net [71.189.154.249]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id 5EA7E39E8100 for <8855@debbugs.gnu.org>; Wed, 21 Nov 2012 15:50:57 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121028 Thunderbird/16.0.2 In-Reply-To: <50AD56C9.5040100@cornell.edu> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:67297 Archived-At: This is a multi-part message in MIME format. --------------080304050505010700030303 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Attached is the fixed backported to the emacs-24 branch (bzr 110936) if there's interest. --------------080304050505010700030303 Content-Type: text/plain; charset=UTF-8; name="g_spawn_sync.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="g_spawn_sync.txt" PT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9DaGFuZ2VMb2cnCi0tLSBzcmMvQ2hhbmdlTG9nCTIw MTItMTEtMjEgMTk6Mjg6MTQgKzAwMDAKKysrIHNyYy9DaGFuZ2VMb2cJMjAxMi0xMS0yMSAy Mzo0Mzo0NyArMDAwMApAQCAtMSwzICsxLDM0IEBACisyMDEyLTExLTIxICBQYXVsIEVnZ2Vy dCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KKworCUZpeCBhIHJhY2UgY29uZGl0aW9uIHRoYXQg Y2F1c2VzIEVtYWNzIHRvIG1lc3MgdXAgZ2xpYiAoQnVnIzg4NTUpLgorCVRoZSBzeW1wdG9t IGlzIGEgZGlhZ25vc3RpYyAiR0xpYi1XQVJOSU5HICoqOiBJbiBjYWxsIHRvCisJZ19zcGF3 bl9zeW5jKCksIGV4aXQgc3RhdHVzIG9mIGEgY2hpbGQgcHJvY2VzcyB3YXMgcmVxdWVzdGVk IGJ1dAorCVNJR0NITEQgYWN0aW9uIHdhcyBzZXQgdG8gU0lHX0lHTiBhbmQgRUNISUxEIHdh cyByZWNlaXZlZCBieQorCXdhaXRwaWQoKSwgc28gZXhpdCBzdGF0dXMgY2FuJ3QgYmUgcmV0 dXJuZWQuIiAgVGhlIGRpYWdub3N0aWMKKwlpcyBwYXJ0bHkgd3JvbmcsIGFzIHRoZSBTSUdD SExEIGFjdGlvbiBpcyBub3Qgc2V0IHRvIFNJR19JR04uCisJVGhlIHJlYWwgYnVnIGlzIGEg cmFjZSBjb25kaXRpb24gYmV0d2VlbiBFbWFjcyBhbmQgZ2xpYjogRW1hY3MKKwlkb2VzIGEg d2FpdHBpZCAoLTEsIC4uLikgYW5kIHJlYXBzIGdsaWIncyBzdWJwcm9jZXNzIGJ5IG1pc3Rh a2UsCisJc28gdGhhdCBnbGliIGNhbid0IGZpbmQgaXQuICBXb3JrIGFyb3VuZCB0aGUgYnVn IGJ5IGludm9raW5nCisJd2FpdHBpZCBvbmx5IG9uIHN1YnByb2Nlc3NlcyB0aGF0IEVtYWNz IGl0c2VsZiBjcmVhdGVzLgorCSogcHJvY2Vzcy5jIChjcmVhdGVfcHJvY2VzcywgcmVjb3Jk X2NoaWxkX3N0YXR1c19jaGFuZ2UpOgorCURvbid0IHVzZSBzcGVjaWFsIHZhbHVlIC0xIGlu IHBpZCBmaWVsZCwgYXMgdGhlIGNhbGxlciBub3cgbXVzdAorCWtub3cgdGhlIHBpZCByYXRo ZXIgdGhhbiBoYXZpbmcgdGhlIGNhbGxlZSBpbmZlciBpdC4gIFRoZQorCWluZmVyZW5jZSB3 YXMgc29tZXRpbWVzIGluY29ycmVjdCBhbnl3YXksIGR1ZSB0byBhbm90aGVyIHJhY2UuCisJ KGNyZWF0ZV9wcm9jZXNzKTogU2V0IG5ldyAnYWxpdmUnIG1lbWJlciBpZiBjaGlsZCBpcyBj cmVhdGVkLgorCShwcm9jZXNzX3N0YXR1c19yZXRyaWV2ZWQpOiBOZXcgZnVuY3Rpb24uCisJ KHJlY29yZF9jaGlsZF9zdGF0dXNfY2hhbmdlKTogVXNlIGl0LgorCUFjY2VwdCBuZWdhdGl2 ZSAxc3QgYXJndW1lbnQsIHdoaWNoIG1lYW5zIHRvIHdhaXQgZm9yIHRoZQorCXByb2Nlc3Nl cyB0aGF0IEVtYWNzIGFscmVhZHkga25vd3MgYWJvdXQuICBNb3ZlIHNwZWNpYWwtY2FzZSBj b2RlCisJZm9yIERPU19OVCAod2hpY2ggbGFja3MgV05PSEFORykgaGVyZSwgZnJvbSBjYWxs ZXIuICBLZWVwIHRyYWNrIG9mCisJcHJvY2Vzc2VzIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4g d2FpdGVkIGZvciwgYnkgdGVzdGluZyBhbmQKKwljbGVhcmluZyBuZXcgJ2FsaXZlJyBtZW1i ZXIuCisJKENBTl9IQU5ETEVfTVVMVElQTEVfQ0hJTERSRU4pOiBSZW1vdmUsIGFzIHJlY29y ZF9jaGlsZF9zdGF0dXNfY2hhbmdlCisJbm93IGRvZXMgdGhpcyBpbnRlcm5hbGx5LgorCSho YW5kbGVfY2hpbGRfc2lnbmFsKTogTGV0IHJlY29yZF9jaGlsZF9zdGF0dXNfY2hhbmdlIGRv IGFsbAorCXRoZSB3b3JrLCBzaW5jZSB3ZSBkbyBub3Qgd2FudCB0byByZWFwIGFsbCBleGl0 ZWQgY2hpbGQgcHJvY2Vzc2VzLAorCW9ubHkgdGhlIGNoaWxkIHByb2Nlc3NlcyB0aGF0IEVt YWNzIGl0c2VsZiBjcmVhdGVkLgorCSogcHJvY2Vzcy5oIChMaXNwX1Byb2Nlc3MpOiBOZXcg Ym9vbGVhbiBtZW1iZXIgJ2FsaXZlJy4KKwogMjAxMi0xMS0yMSAgRWxpIFphcmV0c2tpaSAg PGVsaXpAZ251Lm9yZz4KIAogCSogaW5kZW50LmMgKEZ2ZXJ0aWNhbF9tb3Rpb24pOiBJZiB0 aGUgc3RhcnRpbmcgcG9zaXRpb24gaXMgY292ZXJlZAoKPT09IG1vZGlmaWVkIGZpbGUgJ3Ny Yy9wcm9jZXNzLmMnCi0tLSBzcmMvcHJvY2Vzcy5jCTIwMTItMTAtMzEgMTc6Mjc6MjkgKzAw MDAKKysrIHNyYy9wcm9jZXNzLmMJMjAxMi0xMS0yMSAyMzo0Mzo0NyArMDAwMApAQCAtMTMw LDYgKzEzMCwxMCBAQAogCQkgICAgICAgRU1BQ1NfVElNRSAqLCB2b2lkICopOwogI2VuZGlm CiAKKy8qIFRoaXMgaXMgZm9yIERPU19OVCBwb3J0cy4gIEZJWE1FOiBSZW1vdmUgdGhpcyBv bGQgcG9ydGFiaWxpdHkgY3J1ZnQKKyAgIGJ5IGhhdmluZyBET1NfTlQgcG9ydHMgaW1wbGVt ZW50IHdhaXRwaWQgaW5zdGVhZCBvZiB3YWl0LiAgTm93YWRheXMKKyAgIFBPU0lYaXNoIGhv c3RzIGFsbCBkZWZpbmUgd2FpdHBpZCwgV05PSEFORywgYW5kIFdVTlRSQUNFRCwgYXMgdGhl c2UKKyAgIGhhdmUgYmVlbiBzdGFuZGFyZCBzaW5jZSBQT1NJWC4xLTE5ODguICAqLwogI2lm bmRlZiBXTk9IQU5HCiAjIHVuZGVmIHdhaXRwaWQKICMgZGVmaW5lIHdhaXRwaWQocGlkLCBz dGF0dXMsIG9wdGlvbnMpIHdhaXQgKHN0YXR1cykKQEAgLTc5NSw5ICs3OTksOCBAQAogI2lm ZGVmIFNJR0NITEQKIC8qIEZkZWxldGVfcHJvY2VzcyBwcm9taXNlcyB0byBpbW1lZGlhdGVs eSBmb3JnZXQgYWJvdXQgdGhlIHByb2Nlc3MsIGJ1dCBpbgogICAgcmVhbGl0eSwgRW1hY3Mg bmVlZHMgdG8gcmVtZW1iZXIgdGhvc2UgcHJvY2Vzc2VzIHVudGlsIHRoZXkgaGF2ZSBiZWVu Ci0gICB0cmVhdGVkIGJ5IHRoZSBTSUdDSExEIGhhbmRsZXI7IG90aGVyd2lzZSB0aGlzIGhh bmRsZXIgd291bGQgY29uc2lkZXIgdGhlCi0gICBwcm9jZXNzIGFzIGJlaW5nIHN5bmNocm9u b3VzIGFuZCBzYXkgdGhhdCB0aGUgc3luY2hyb25vdXMgcHJvY2VzcyBpcwotICAgZGVhZC4g ICovCisgICB0cmVhdGVkIGJ5IHRoZSBTSUdDSExEIGhhbmRsZXIgYW5kIHdhaXRwaWQgaGFz IGJlZW4gaW52b2tlZCBvbiB0aGVtOworICAgb3RoZXJ3aXNlIHRoZXkgbWlnaHQgZmlsbCB1 cCB0aGUga2VybmVsJ3MgcHJvY2VzcyB0YWJsZS4gICovCiBzdGF0aWMgTGlzcF9PYmplY3Qg ZGVsZXRlZF9waWRfbGlzdDsKICNlbmRpZgogCkBAIC0xNzA0LDE2ICsxNzA3LDcgQEAKICAg aWYgKGluY2hhbm5lbCA+IG1heF9wcm9jZXNzX2Rlc2MpCiAgICAgbWF4X3Byb2Nlc3NfZGVz YyA9IGluY2hhbm5lbDsKIAotICAvKiBVbnRpbCB3ZSBzdG9yZSB0aGUgcHJvcGVyIHBpZCwg ZW5hYmxlIHRoZSBTSUdDSExEIGhhbmRsZXIKLSAgICAgdG8gcmVjb2duaXplIGFuIHVua25v d24gcGlkIGFzIHN0YW5kaW5nIGZvciB0aGlzIHByb2Nlc3MuCi0gICAgIEl0IGlzIHZlcnkg aW1wb3J0YW50IG5vdCB0byBsZXQgdGhpcyBgbWFya2VyJyB2YWx1ZSBzdGF5Ci0gICAgIGlu IHRoZSB0YWJsZSBhZnRlciB0aGlzIGZ1bmN0aW9uIGhhcyByZXR1cm5lZDsgaWYgaXQgZG9l cwotICAgICBpdCBtaWdodCBjYXVzZSBjYWxsLXByb2Nlc3MgdG8gaGFuZyBhbmQgc3Vic2Vx dWVudCBhc3luY2hyb25vdXMKLSAgICAgcHJvY2Vzc2VzIHRvIGdldCB0aGVpciByZXR1cm4g dmFsdWVzIHNjcmFtYmxlZC4gICovCi0gIFhQUk9DRVNTIChwcm9jZXNzKS0+cGlkID0gLTE7 Ci0KLSAgLyogVGhpcyBtdXN0IGJlIGNhbGxlZCBhZnRlciB0aGUgYWJvdmUgbGluZSBiZWNh dXNlIGl0IG1heSBzaWduYWwgYW4KLSAgICAgZXJyb3IuICovCisgIC8qIFRoaXMgbWF5IHNp Z25hbCBhbiBlcnJvci4gKi8KICAgc2V0dXBfcHJvY2Vzc19jb2Rpbmdfc3lzdGVtcyAocHJv Y2Vzcyk7CiAKICAgZW5jb2RlZF9jdXJyZW50X2RpciA9IEVOQ09ERV9GSUxFIChjdXJyZW50 X2Rpcik7CkBAIC0xODgwLDYgKzE4NzQsOCBAQAogI2VuZGlmCiAKICAgWFBST0NFU1MgKHBy b2Nlc3MpLT5waWQgPSBwaWQ7CisgIGlmICgwIDw9IHBpZCkKKyAgICBYUFJPQ0VTUyAocHJv Y2VzcyktPmFsaXZlID0gMTsKIAogICAvKiBTdG9wIGJsb2NraW5nIHNpZ25hbHMgaW4gdGhl IHBhcmVudC4gICovCiAjaWZkZWYgU0lHQ0hMRApAQCAtNjI3Myw5ICs2MjY5LDM1IEBACiAg IHJldHVybiBwcm9jZXNzOwogfQogDAotLyogT24gcmVjZWlwdCBvZiBhIHNpZ25hbCB0aGF0 IGEgY2hpbGQgc3RhdHVzIGhhcyBjaGFuZ2VkLCBsb29wIGFza2luZwotICAgYWJvdXQgY2hp bGRyZW4gd2l0aCBjaGFuZ2VkIHN0YXR1c2VzIHVudGlsIHRoZSBzeXN0ZW0gc2F5cyB0aGVy ZQotICAgYXJlIG5vIG1vcmUuCisvKiBJZiB0aGUgc3RhdHVzIG9mIHRoZSBwcm9jZXNzIERF U0lSRUQgaGFzIGNoYW5nZWQsIHJldHVybiB0cnVlIGFuZAorICAgc2V0ICpTVEFUVVMgdG8g aXRzIGV4aXQgc3RhdHVzOyBvdGhlcndpc2UsIHJldHVybiBmYWxzZS4KKyAgIElmIEhBVkUg aXMgbm9ubmVnYXRpdmUsIGFzc3VtZSB0aGF0IEhBVkUgPSB3YWl0cGlkIChIQVZFLCBTVEFU VVMsIC4uLikKKyAgIGhhcyBhbHJlYWR5IGJlZW4gaW52b2tlZCwgYW5kIGRvIG5vdCBpbnZv a2Ugd2FpdHBpZCBhZ2Fpbi4gICovCisKK3N0YXRpYyBib29sCitwcm9jZXNzX3N0YXR1c19y ZXRyaWV2ZWQgKHBpZF90IGRlc2lyZWQsIHBpZF90IGhhdmUsIGludCAqc3RhdHVzKQorewor ICBpZiAoaGF2ZSA8IDApCisgICAgeworICAgICAgLyogSW52b2tlIHdhaXRwaWQgb25seSB3 aXRoIGEga25vd24gcHJvY2VzcyBJRDsgZG8gbm90IGludm9rZQorCSB3YWl0cGlkIHdpdGgg YSBub25wb3NpdGl2ZSBhcmd1bWVudC4gIE90aGVyd2lzZSwgRW1hY3MgbWlnaHQKKwkgcmVh cCBhbiB1bndhbnRlZCBwcm9jZXNzIGJ5IG1pc3Rha2UuICBGb3IgZXhhbXBsZSwgaW52b2tp bmcKKwkgd2FpdHBpZCAoLTEsIC4uLikgY2FuIG1lc3MgdXAgZ2xpYiBieSByZWFwaW5nIGds aWIncyBzdWJwcm9jZXNzZXMsCisJIHNvIHRoYXQgYW5vdGhlciB0aHJlYWQgcnVubmluZyBn bGliIHdvbid0IGZpbmQgdGhlbS4gICovCisgICAgICBkbworCWhhdmUgPSB3YWl0cGlkIChk ZXNpcmVkLCBzdGF0dXMsIFdOT0hBTkcgfCBXVU5UUkFDRUQpOworICAgICAgd2hpbGUgKGhh dmUgPCAwICYmIGVycm5vID09IEVJTlRSKTsKKyAgICB9CisKKyAgcmV0dXJuIGhhdmUgPT0g ZGVzaXJlZDsKK30KKworLyogSWYgUElEIGlzIG5vbm5lZ2F0aXZlLCB0aGUgY2hpbGQgcHJv Y2VzcyBQSUQgd2l0aCB3YWl0IHN0YXR1cyBXIGhhcworICAgY2hhbmdlZCBpdHMgc3RhdHVz OyByZWNvcmQgdGhpcyBhbmQgcmV0dXJuIHRydWUuCisKKyAgIElmIFBJRCBpcyBuZWdhdGl2 ZSwgaWdub3JlIFcsIGFuZCBsb29rIGZvciBrbm93biBjaGlsZCBwcm9jZXNzZXMKKyAgIG9m IEVtYWNzIHdob3NlIHN0YXR1cyBoYXZlIGNoYW5nZWQuICBGb3IgZWFjaCBvbmUgZm91bmQs IHJlY29yZCBpdHMgbmV3CisgICBzdGF0dXMuCiAKICAgIEFsbCB3ZSBkbyBpcyBjaGFuZ2Ug dGhlIHN0YXR1czsgd2UgZG8gbm90IHJ1biBzZW50aW5lbHMgb3IgcHJpbnQKICAgIG5vdGlm aWNhdGlvbnMuICBUaGF0IGlzIHNhdmVkIGZvciB0aGUgbmV4dCB0aW1lIGtleWJvYXJkIGlu cHV0IGlzCkBAIC02Mjk4LDEzICs2MzIwLDIzIEBACiAgICAqKiBNYWxsb2MgV0FSTklORzog VGhpcyBzaG91bGQgbmV2ZXIgY2FsbCBtYWxsb2MgZWl0aGVyIGRpcmVjdGx5IG9yCiAgICBp bmRpcmVjdGx5OyBpZiBpdCBkb2VzLCB0aGF0IGlzIGEgYnVnICAqLwogCi0vKiBSZWNvcmQg dGhlIGNoYW5nZWQgc3RhdHVzIG9mIHRoZSBjaGlsZCBwcm9jZXNzIFBJRCB3aXRoIHdhaXQg c3RhdHVzIFcuICAqLwogdm9pZAogcmVjb3JkX2NoaWxkX3N0YXR1c19jaGFuZ2UgKHBpZF90 IHBpZCwgaW50IHcpCiB7CiAjaWZkZWYgU0lHQ0hMRAotICBMaXNwX09iamVjdCBwcm9jOwot ICBzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwOworCisjIGlmZGVmIFdOT0hBTkcKKyAgLyogT24g UE9TSVhpc2ggaG9zdHMsIHJlY29yZCBhdCBtb3N0IG9uZSBjaGlsZCBvbmx5IGlmIHdlIGFs cmVhZHkKKyAgICAga25vdyBvbmUgY2hpbGQgdGhhdCBoYXMgZXhpdGVkLiAgKi8KKyAgYm9v bCByZWNvcmRfYXRfbW9zdF9vbmVfY2hpbGQgPSAwIDw9IHBpZDsKKyMgZWxzZQorICAvKiBP biBET1NfTlQgKHRoZSBvbmx5IHBvcnRpbmcgdGFyZ2V0IHRoYXQgbGFja3MgV05PSEFORyks CisgICAgIHJlY29yZCB0aGUgc3RhdHVzIG9mIGF0IG1vc3Qgb25lIGNoaWxkIHByb2Nlc3Ms IHNpbmNlIHRoZSBTSUdDSExECisgICAgIGhhbmRsZXIgbXVzdCByZXR1cm4gcmlnaHQgYXdh eS4gIElmIGFueSBtb3JlIHByb2Nlc3NlcyB3YW50IHRvCisgICAgIHNpZ25hbCB1cywgd2Ug d2lsbCBnZXQgYW5vdGhlciBzaWduYWwuICAqLworICBib29sIHJlY29yZF9hdF9tb3N0X29u ZV9jaGlsZCA9IDE7CisjIGVuZGlmCisKICAgTGlzcF9PYmplY3QgdGFpbDsKIAogICAvKiBG aW5kIHRoZSBwcm9jZXNzIHRoYXQgc2lnbmFsZWQgdXMsIGFuZCByZWNvcmQgaXRzIHN0YXR1 cy4gICovCkBAIC02MzEyLDY4ICs2MzQ0LDY5IEBACiAgIC8qIFRoZSBwcm9jZXNzIGNhbiBo YXZlIGJlZW4gZGVsZXRlZCBieSBGZGVsZXRlX3Byb2Nlc3MuICAqLwogICBmb3IgKHRhaWwg PSBkZWxldGVkX3BpZF9saXN0OyBDT05TUCAodGFpbCk7IHRhaWwgPSBYQ0RSICh0YWlsKSkK ICAgICB7CisgICAgICBib29sIGFsbF9waWRzX2FyZV9maXhudW1zCisJPSAoTU9TVF9ORUdB VElWRV9GSVhOVU0gPD0gVFlQRV9NSU5JTVVNIChwaWRfdCkKKwkgICAmJiBUWVBFX01BWElN VU0gKHBpZF90KSA8PSBNT1NUX1BPU0lUSVZFX0ZJWE5VTSk7CiAgICAgICBMaXNwX09iamVj dCB4cGlkID0gWENBUiAodGFpbCk7Ci0gICAgICBpZiAoKElOVEVHRVJQICh4cGlkKSAmJiBw aWQgPT0gWElOVCAoeHBpZCkpCi0JICB8fCAoRkxPQVRQICh4cGlkKSAmJiBwaWQgPT0gWEZM T0FUX0RBVEEgKHhwaWQpKSkKKyAgICAgIGlmIChhbGxfcGlkc19hcmVfZml4bnVtcyA/IElO VEVHRVJQICh4cGlkKSA6IE5VTUJFUlAgKHhwaWQpKQogCXsKLQkgIFhTRVRDQVIgKHRhaWws IFFuaWwpOwotCSAgcmV0dXJuOworCSAgcGlkX3QgZGVsZXRlZF9waWQ7CisJICBpZiAoSU5U RUdFUlAgKHhwaWQpKQorCSAgICBkZWxldGVkX3BpZCA9IFhJTlQgKHhwaWQpOworCSAgZWxz ZQorCSAgICBkZWxldGVkX3BpZCA9IFhGTE9BVF9EQVRBICh4cGlkKTsKKwkgIGlmIChwcm9j ZXNzX3N0YXR1c19yZXRyaWV2ZWQgKGRlbGV0ZWRfcGlkLCBwaWQsICZ3KSkKKwkgICAgewor CSAgICAgIFhTRVRDQVIgKHRhaWwsIFFuaWwpOworCSAgICAgIGlmIChyZWNvcmRfYXRfbW9z dF9vbmVfY2hpbGQpCisJCXJldHVybjsKKwkgICAgfQogCX0KICAgICB9CiAKICAgLyogT3Ro ZXJ3aXNlLCBpZiBpdCBpcyBhc3luY2hyb25vdXMsIGl0IGlzIGluIFZwcm9jZXNzX2FsaXN0 LiAgKi8KLSAgcCA9IDA7CiAgIGZvciAodGFpbCA9IFZwcm9jZXNzX2FsaXN0OyBDT05TUCAo dGFpbCk7IHRhaWwgPSBYQ0RSICh0YWlsKSkKICAgICB7Ci0gICAgICBwcm9jID0gWENEUiAo WENBUiAodGFpbCkpOwotICAgICAgcCA9IFhQUk9DRVNTIChwcm9jKTsKLSAgICAgIGlmIChF USAocC0+dHlwZSwgUXJlYWwpICYmIHAtPnBpZCA9PSBwaWQpCi0JYnJlYWs7Ci0gICAgICBw ID0gMDsKLSAgICB9Ci0KLSAgLyogTG9vayBmb3IgYW4gYXN5bmNocm9ub3VzIHByb2Nlc3Mg d2hvc2UgcGlkIGhhc24ndCBiZWVuIGZpbGxlZAotICAgICBpbiB5ZXQuICAqLwotICBpZiAo ISBwKQotICAgIGZvciAodGFpbCA9IFZwcm9jZXNzX2FsaXN0OyBDT05TUCAodGFpbCk7IHRh aWwgPSBYQ0RSICh0YWlsKSkKLSAgICAgIHsKLQlwcm9jID0gWENEUiAoWENBUiAodGFpbCkp OwotCXAgPSBYUFJPQ0VTUyAocHJvYyk7Ci0JaWYgKHAtPnBpZCA9PSAtMSkKLQkgIGJyZWFr OwotCXAgPSAwOwotICAgICAgfQotCi0gIC8qIENoYW5nZSB0aGUgc3RhdHVzIG9mIHRoZSBw cm9jZXNzIHRoYXQgd2FzIGZvdW5kLiAgKi8KLSAgaWYgKHApCi0gICAgewotICAgICAgaW50 IGNsZWFyX2Rlc2NfZmxhZyA9IDA7Ci0KLSAgICAgIHAtPnRpY2sgPSArK3Byb2Nlc3NfdGlj azsKLSAgICAgIHAtPnJhd19zdGF0dXMgPSB3OwotICAgICAgcC0+cmF3X3N0YXR1c19uZXcg PSAxOwotCi0gICAgICAvKiBJZiBwcm9jZXNzIGhhcyB0ZXJtaW5hdGVkLCBzdG9wIHdhaXRp bmcgZm9yIGl0cyBvdXRwdXQuICAqLwotICAgICAgaWYgKChXSUZTSUdOQUxFRCAodykgfHwg V0lGRVhJVEVEICh3KSkKLQkgICYmIHAtPmluZmQgPj0gMCkKLQljbGVhcl9kZXNjX2ZsYWcg PSAxOwotCi0gICAgICAvKiBXZSB1c2UgY2xlYXJfZGVzY19mbGFnIHRvIGF2b2lkIGEgY29t cGlsZXIgYnVnIGluIE1pY3Jvc29mdCBDLiAgKi8KLSAgICAgIGlmIChjbGVhcl9kZXNjX2Zs YWcpCisgICAgICBMaXNwX09iamVjdCBwcm9jID0gWENEUiAoWENBUiAodGFpbCkpOworICAg ICAgc3RydWN0IExpc3BfUHJvY2VzcyAqcCA9IFhQUk9DRVNTIChwcm9jKTsKKyAgICAgIGlm IChwLT5hbGl2ZSAmJiBwcm9jZXNzX3N0YXR1c19yZXRyaWV2ZWQgKHAtPnBpZCwgcGlkLCAm dykpCiAJewotCSAgRkRfQ0xSIChwLT5pbmZkLCAmaW5wdXRfd2FpdF9tYXNrKTsKLQkgIEZE X0NMUiAocC0+aW5mZCwgJm5vbl9rZXlib2FyZF93YWl0X21hc2spOworCSAgLyogQ2hhbmdl IHRoZSBzdGF0dXMgb2YgdGhlIHByb2Nlc3MgdGhhdCB3YXMgZm91bmQuICAqLworCSAgcC0+ dGljayA9ICsrcHJvY2Vzc190aWNrOworCSAgcC0+cmF3X3N0YXR1cyA9IHc7CisJICBwLT5y YXdfc3RhdHVzX25ldyA9IDE7CisKKwkgIC8qIElmIHByb2Nlc3MgaGFzIHRlcm1pbmF0ZWQs IHN0b3Agd2FpdGluZyBmb3IgaXRzIG91dHB1dC4gICovCisJICBpZiAoV0lGU0lHTkFMRUQg KHcpIHx8IFdJRkVYSVRFRCAodykpCisJICAgIHsKKwkgICAgICBpbnQgY2xlYXJfZGVzY19m bGFnID0gMDsKKwkgICAgICBwLT5hbGl2ZSA9IDA7CisJICAgICAgaWYgKHAtPmluZmQgPj0g MCkKKwkJY2xlYXJfZGVzY19mbGFnID0gMTsKKworCSAgICAgIC8qIGNsZWFyX2Rlc2NfZmxh ZyBhdm9pZHMgYSBjb21waWxlciBidWcgaW4gTWljcm9zb2Z0IEMuICAqLworCSAgICAgIGlm IChjbGVhcl9kZXNjX2ZsYWcpCisJCXsKKwkJICBGRF9DTFIgKHAtPmluZmQsICZpbnB1dF93 YWl0X21hc2spOworCQkgIEZEX0NMUiAocC0+aW5mZCwgJm5vbl9rZXlib2FyZF93YWl0X21h c2spOworCQl9CisJICAgIH0KKworCSAgLyogVGVsbCB3YWl0X3JlYWRpbmdfcHJvY2Vzc19v dXRwdXQgdGhhdCBpdCBuZWVkcyB0byB3YWtlIHVwIGFuZAorCSAgICAgbG9vayBhcm91bmQu ICAqLworCSAgaWYgKGlucHV0X2F2YWlsYWJsZV9jbGVhcl90aW1lKQorCSAgICAqaW5wdXRf YXZhaWxhYmxlX2NsZWFyX3RpbWUgPSBtYWtlX2VtYWNzX3RpbWUgKDAsIDApOworCisJICBp ZiAocmVjb3JkX2F0X21vc3Rfb25lX2NoaWxkKQorCSAgICByZXR1cm47CiAJfQotCi0gICAg ICAvKiBUZWxsIHdhaXRfcmVhZGluZ19wcm9jZXNzX291dHB1dCB0aGF0IGl0IG5lZWRzIHRv IHdha2UgdXAgYW5kCi0JIGxvb2sgYXJvdW5kLiAgKi8KLSAgICAgIGlmIChpbnB1dF9hdmFp bGFibGVfY2xlYXJfdGltZSkKLQkqaW5wdXRfYXZhaWxhYmxlX2NsZWFyX3RpbWUgPSBtYWtl X2VtYWNzX3RpbWUgKDAsIDApOwogICAgIH0KLSAgLyogVGhlcmUgd2FzIG5vIGFzeW5jaHJv bm91cyBwcm9jZXNzIGZvdW5kIGZvciB0aGF0IHBpZDogd2UgaGF2ZQotICAgICBhIHN5bmNo cm9ub3VzIHByb2Nlc3MuICAqLwotICBlbHNlCisKKyAgaWYgKDAgPD0gcGlkKQogICAgIHsK KyAgICAgIC8qIFRoZSBjYWxsZXIgc3VjY2Vzc2Z1bGx5IHdhaXRlZCBmb3IgYSBwaWQgYnV0 IG5vIGFzeW5jaHJvbm91cworCSBwcm9jZXNzIHdhcyBmb3VuZCBmb3IgaXQsIHNvIHRoaXMg aXMgYSBzeW5jaHJvbm91cyBwcm9jZXNzLiAgKi8KKwogICAgICAgc3luY2hfcHJvY2Vzc19h bGl2ZSA9IDA7CiAKICAgICAgIC8qIFJlcG9ydCB0aGUgc3RhdHVzIG9mIHRoZSBzeW5jaHJv bm91cyBwcm9jZXNzLiAgKi8KQEAgLTYzOTIsMzggKzY0MjUsMTAgQEAKIAogI2lmZGVmIFNJ R0NITEQKIAotLyogT24gc29tZSBzeXN0ZW1zLCB0aGUgU0lHQ0hMRCBoYW5kbGVyIG11c3Qg cmV0dXJuIHJpZ2h0IGF3YXkuICBJZgotICAgYW55IG1vcmUgcHJvY2Vzc2VzIHdhbnQgdG8g c2lnbmFsIHVzLCB3ZSB3aWxsIGdldCBhbm90aGVyIHNpZ25hbC4KLSAgIE90aGVyd2lzZSwg bG9vcCBhcm91bmQgdG8gdXNlIHVwIGFsbCB0aGUgcHJvY2Vzc2VzIHRoYXQgaGF2ZQotICAg c29tZXRoaW5nIHRvIHRlbGwgdXMuICAqLwotI2lmIChkZWZpbmVkIFdJTkRPV1NOVCBcCi0g ICAgIHx8IChkZWZpbmVkIFVTRyAmJiAhZGVmaW5lZCBHTlVfTElOVVggXAotCSAmJiAhKGRl ZmluZWQgSFBVWCAmJiBkZWZpbmVkIFdOT0hBTkcpKSkKLWVudW0geyBDQU5fSEFORExFX01V TFRJUExFX0NISUxEUkVOID0gMCB9OwotI2Vsc2UKLWVudW0geyBDQU5fSEFORExFX01VTFRJ UExFX0NISUxEUkVOID0gMSB9OwotI2VuZGlmCi0KIHN0YXRpYyB2b2lkCiBoYW5kbGVfY2hp bGRfc2lnbmFsIChpbnQgc2lnKQogewotICBkbwotICAgIHsKLSAgICAgIHBpZF90IHBpZDsK LSAgICAgIGludCBzdGF0dXM7Ci0KLSAgICAgIGRvCi0JcGlkID0gd2FpdHBpZCAoLTEsICZz dGF0dXMsIFdOT0hBTkcgfCBXVU5UUkFDRUQpOwotICAgICAgd2hpbGUgKHBpZCA8IDAgJiYg ZXJybm8gPT0gRUlOVFIpOwotCi0gICAgICAvKiBQSUQgPT0gMCBtZWFucyBubyBwcm9jZXNz ZXMgZm91bmQsIFBJRCA9PSAtMSBtZWFucyBhIHJlYWwgZmFpbHVyZS4KLQkgRWl0aGVyIHdh eSwgd2UgaGF2ZSBkb25lIGFsbCBvdXIgam9iLiAgKi8KLSAgICAgIGlmIChwaWQgPD0gMCkK LQlicmVhazsKLQotICAgICAgcmVjb3JkX2NoaWxkX3N0YXR1c19jaGFuZ2UgKHBpZCwgc3Rh dHVzKTsKLSAgICB9Ci0gIHdoaWxlIChDQU5fSEFORExFX01VTFRJUExFX0NISUxEUkVOKTsK KyAgcmVjb3JkX2NoaWxkX3N0YXR1c19jaGFuZ2UgKC0xLCAwKTsKIH0KIAogc3RhdGljIHZv aWQKCj09PSBtb2RpZmllZCBmaWxlICdzcmMvcHJvY2Vzcy5oJwotLS0gc3JjL3Byb2Nlc3Mu aAkyMDEyLTA4LTI3IDE3OjIzOjQ4ICswMDAwCisrKyBzcmMvcHJvY2Vzcy5oCTIwMTItMTEt MjEgMjM6NDM6NDcgKzAwMDAKQEAgLTE0Miw2ICsxNDIsOSBAQAogICAgIC8qIEZsYWcgdG8g c2V0IGNvZGluZy1zeXN0ZW0gb2YgdGhlIHByb2Nlc3MgYnVmZmVyIGZyb20gdGhlCiAgICAg ICAgY29kaW5nX3N5c3RlbSB1c2VkIHRvIGRlY29kZSBwcm9jZXNzIG91dHB1dC4gICovCiAg ICAgdW5zaWduZWQgaW50IGluaGVyaXRfY29kaW5nX3N5c3RlbV9mbGFnIDogMTsKKyAgICAv KiBXaGV0aGVyIHRoZSBwcm9jZXNzIGlzIGFsaXZlLCBpLmUuLCBjYW4gYmUgd2FpdGVkIGZv ci4gIFJ1bm5pbmcKKyAgICAgICBwcm9jZXNzZXMgY2FuIGJlIHdhaXRlZCBmb3IsIGJ1dCBl eGl0ZWQgYW5kIGZha2UgcHJvY2Vzc2VzIGNhbm5vdC4gICovCisgICAgdW5zaWduZWQgaW50 IGFsaXZlIDogMTsKICAgICAvKiBSZWNvcmQgdGhlIHByb2Nlc3Mgc3RhdHVzIGluIHRoZSBy YXcgZm9ybSBpbiB3aGljaCBpdCBjb21lcyBmcm9tIGB3YWl0Jy4KICAgICAgICBUaGlzIGlz IHRvIGF2b2lkIGNvbnNpbmcgaW4gYSBzaWduYWwgaGFuZGxlci4gIFRoZSBgcmF3X3N0YXR1 c19uZXcnCiAgICAgICAgZmxhZyBpbmRpY2F0ZXMgdGhhdCBgcmF3X3N0YXR1cycgY29udGFp bnMgYSBuZXcgc3RhdHVzIHRoYXQgc3RpbGwKCg== --------------080304050505010700030303--