From unknown Sun Aug 17 09:11:15 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#19688 <19688@debbugs.gnu.org> To: bug#19688 <19688@debbugs.gnu.org> Subject: Status: [patch] add support for emacs daemon on Windows Reply-To: bug#19688 <19688@debbugs.gnu.org> Date: Sun, 17 Aug 2025 16:11:15 +0000 retitle 19688 [patch] add support for emacs daemon on Windows reassign 19688 emacs submitter 19688 Mark Laws severity 19688 wishlist tag 19688 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 25 14:58:14 2015 Received: (at submit) by debbugs.gnu.org; 25 Jan 2015 19:58:14 +0000 Received: from localhost ([127.0.0.1]:56243 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFTK1-0007Af-9V for submit@debbugs.gnu.org; Sun, 25 Jan 2015 14:58:14 -0500 Received: from eggs.gnu.org ([208.118.235.92]:52842) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFShs-0005R7-OF for submit@debbugs.gnu.org; Sun, 25 Jan 2015 14:18:49 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YFShm-0000id-9d for submit@debbugs.gnu.org; Sun, 25 Jan 2015 14:18:43 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:36883) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFShm-0000iZ-6O for submit@debbugs.gnu.org; Sun, 25 Jan 2015 14:18:42 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFShl-000079-5I for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 14:18:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YFShg-0000hC-1G for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 14:18:41 -0500 Received: from mail-ie0-f181.google.com ([209.85.223.181]:48510) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFShf-0000h6-QV for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 14:18:35 -0500 Received: by mail-ie0-f181.google.com with SMTP id rp18so5341926iec.12 for ; Sun, 25 Jan 2015 11:18:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=p4+fYcMstuqf1V1UGudv0j9XbSWhjwdex9e30T8WlpY=; b=aQhawU2agnhzROU/KNwzVSpOQ5dhMAndAT/N/ohDIXWiyIY9NZlX5pu2Cj0iCNwEo1 84pcY7F0hdCVPVXnxVMxTZCw1HUc6GNFvovOq8VCDKhcwW7oeVDuu6FXGD6TKW7be9Yh A5mxNDw2/1HLgIOZIe2spXLIDj2gqOSG6pyvfuuPX1eeYqqarKdKf8ad3m4Wm7t+gIZX elUzPX3foWyIXsFfq5tNpzG/RbOlUZ8JtFtNqmCVoVIud1MZ+fF18v9i2yYOhzGFAmyh wxvm0rZiJB350sBbGWFlsog/R2pC2ZpvRxCQ2gVsBhHzrBQtVdQ8g6uYB49h4307NoKh N5vQ== X-Gm-Message-State: ALoCoQl7jIzYFWEXn7+TCqJJ4Xw2UZsgD/zHWF8YrqsDrpNBz1W/4LJx2JAqZRAgHPQuEUDx9YAE MIME-Version: 1.0 X-Received: by 10.50.30.3 with SMTP id o3mr12808887igh.44.1422213515256; Sun, 25 Jan 2015 11:18:35 -0800 (PST) Received: by 10.64.155.4 with HTTP; Sun, 25 Jan 2015 11:18:34 -0800 (PST) X-Originating-IP: [119.245.8.208] Date: Mon, 26 Jan 2015 04:18:34 +0900 Message-ID: Subject: [patch] add support for emacs daemon on Windows From: Mark Laws To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary=e89a8f83941f5fa8ff050d7ee322 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Sun, 25 Jan 2015 14:58:10 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --e89a8f83941f5fa8ff050d7ee322 Content-Type: text/plain; charset=ISO-8859-1 Hi, I am not on this list so please CC me in any replies. Attached is a patch which should apply cleanly on top of master (a3689d3c661fe36df971c875760f8d500b5ae994 as of this email). It allows Emacs to run as a daemon on Windows. Without daemon mode, emacsclient -a "" does not work, which makes it impossible to pass elisp to Emacs via emacsclient unless Emacs is already running. In other words, this will now work correctly: emacsclient -a "" -e "(ediff-merge-files-with-ancestor ...)" Previously, -a "" produced an error message on Windows. There was no workaround, because: emacs -a emacs -e "(ediff-merge-files-with-ancestor ...)" would start a new Emacs with a buffer called "(ediff-merge-files-with-ancestor ...)". The functionality is identical to the UNIX implementation with one difference: I didn't allow for running multiple/named daemons. The reason I didn't was because the code for that in emacsclient.c took the daemon name from the socket name if one was provided, and because filesystem sockets are not supported on Windows, I couldn't think of a way to provide identical behavior across UNIX and Windows. This patch has been heavily tested against emacs-24 without any issues; it seems to work well against master as well. Thanks to Eli Zaretskii for help with debugging. Cheers, Mark Laws -- |v\ /\ |\ |< |_ /\ \^| // --e89a8f83941f5fa8ff050d7ee322 Content-Type: application/octet-stream; name="emacs-windows-daemon.patch" Content-Disposition: attachment; filename="emacs-windows-daemon.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i5ct3k4h0 ZGlmZiAtLWdpdCBhL2xpYi1zcmMvTWFrZWZpbGUuaW4gYi9saWItc3JjL01ha2VmaWxlLmluCmlu ZGV4IGQyNzA1ZTcuLmIzNGRhYTQgMTAwNjQ0Ci0tLSBhL2xpYi1zcmMvTWFrZWZpbGUuaW4KKysr IGIvbGliLXNyYy9NYWtlZmlsZS5pbgpAQCAtMzg5LDEyICszODksMTYgQEAgbW92ZW1haWwke0VY RUVYVH06ICR7c3JjZGlyfS9tb3ZlbWFpbC5jIHBvcC5vICQoTlRMSUIpICQoY29uZmlnX2gpCiBw b3AubzogJHtzcmNkaXJ9L3BvcC5jICR7c3JjZGlyfS9wb3AuaCAke3NyY2Rpcn0vLi4vbGliL21p bi1tYXguaCAkKGNvbmZpZ19oKQogCSQoQU1fVl9DQykkKENDKSAtYyAke0NQUF9DRkxBR1N9ICR7 TU9WRV9GTEFHU30gJDwKIAotZW1hY3NjbGllbnQke0VYRUVYVH06ICR7c3JjZGlyfS9lbWFjc2Ns aWVudC5jICQoTlRMSUIpICQoY29uZmlnX2gpCitzZXJ2ZXItZ3VpZF9oID0gLi4vc3JjL3NlcnZl ci1ndWlkLmgKKworZW1hY3NjbGllbnQke0VYRUVYVH06ICR7c3JjZGlyfS9lbWFjc2NsaWVudC5j ICQoTlRMSUIpICQoY29uZmlnX2gpIFwKKwkJCSQoc2VydmVyLWd1aWRfaCkKIAkkKEFNX1ZfQ0NM RCkkKENDKSAke0FMTF9DRkxBR1N9ICQ8IFwKIAkgICAtRFZFUlNJT049IlwiJHt2ZXJzaW9ufVwi IiAkKE5UTElCKSAkKExPQURMSUJFUykgJChMSUJfRkRBVEFTWU5DKSBcCiAJICAgJChMSUJfV1NP Q0szMikgJChMSUJTX0VDTElFTlQpIC1vICRACiAKLWVtYWNzY2xpZW50dyR7RVhFRVhUfTogJHtz cmNkaXJ9L2VtYWNzY2xpZW50LmMgJChOVExJQikgJChDTElFTlRSRVMpICQoY29uZmlnX2gpCitl bWFjc2NsaWVudHcke0VYRUVYVH06ICR7c3JjZGlyfS9lbWFjc2NsaWVudC5jICQoTlRMSUIpICQo Q0xJRU5UUkVTKSBcCisJCQkkKGNvbmZpZ19oKSAkKHNlcnZlci1ndWlkX2gpCiAJJChBTV9WX0ND TEQpJChDQykgJHtBTExfQ0ZMQUdTfSAkKENMSUVOVFJFUykgLW13aW5kb3dzICQ8IFwKIAkgICAt RFZFUlNJT049IlwiJHt2ZXJzaW9ufVwiIiAkKExPQURMSUJFUykgJChMSUJfRkRBVEFTWU5DKSBc CiAJICAgJChMSUJfV1NPQ0szMikgJChMSUJTX0VDTElFTlQpIC1vICRACmRpZmYgLS1naXQgYS9s aWItc3JjL2VtYWNzY2xpZW50LmMgYi9saWItc3JjL2VtYWNzY2xpZW50LmMKaW5kZXggYTA0ZGRh Ni4uOWQ0ZjNjZSAxMDA2NDQKLS0tIGEvbGliLXNyYy9lbWFjc2NsaWVudC5jCisrKyBiL2xpYi1z cmMvZW1hY3NjbGllbnQuYwpAQCAtMzMsNiArMzMsOCBAQCBhbG9uZyB3aXRoIEdOVSBFbWFjcy4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCiAjIGluY2x1 ZGUgPGlvLmg+CiAjIGluY2x1ZGUgPHdpbnNvY2syLmg+CiAKKyMgaW5jbHVkZSAic2VydmVyLWd1 aWQuaCIKKwogIyBkZWZpbmUgTk9fU09DS0VUU19JTl9GSUxFX1NZU1RFTQogCiAjIGRlZmluZSBI U09DS0VUIFNPQ0tFVApAQCAtNTk1LDEzICs1OTcsNiBAQCBkZWNvZGVfb3B0aW9ucyAoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogICAgICAgZGlzcGxheSA9IE5VTEw7CiAgICAgICB0dHkgPSAxOwog ICAgIH0KLQotICBpZiAoYWx0ZXJuYXRlX2VkaXRvciAmJiBhbHRlcm5hdGVfZWRpdG9yWzBdID09 ICdcMCcpCi0gICAgewotICAgICAgbWVzc2FnZSAodHJ1ZSwgIi0tYWx0ZXJuYXRlLWVkaXRvciBh cmd1bWVudCBvciBBTFRFUk5BVEVfRURJVE9SIHZhcmlhYmxlIGNhbm5vdCBiZVxuXAotYW4gZW1w dHkgc3RyaW5nIik7Ci0gICAgICBleGl0IChFWElUX0ZBSUxVUkUpOwotICAgIH0KICNlbmRpZiAv KiBXSU5ET1dTTlQgKi8KIH0KIApAQCAtNjQyLDEwICs2MzcsOCBAQCBUaGUgZm9sbG93aW5nIE9Q VElPTlMgYXJlIGFjY2VwdGVkOlxuXAogCQkJU2V0IGZpbGVuYW1lIG9mIHRoZSBUQ1AgYXV0aGVu dGljYXRpb24gZmlsZVxuXAogLWEgRURJVE9SLCAtLWFsdGVybmF0ZS1lZGl0b3I9RURJVE9SXG5c CiAJCQlFZGl0b3IgdG8gZmFsbGJhY2sgdG8gaWYgdGhlIHNlcnZlciBpcyBub3QgcnVubmluZ1xu IgotI2lmbmRlZiBXSU5ET1dTTlQKICIJCQlJZiBFRElUT1IgaXMgdGhlIGVtcHR5IHN0cmluZywg c3RhcnQgRW1hY3MgaW4gZGFlbW9uXG5cCiAJCQltb2RlIGFuZCB0cnkgY29ubmVjdGluZyBhZ2Fp blxuIgotI2VuZGlmIC8qIG5vdCBXSU5ET1dTTlQgKi8KICJcblwKIFJlcG9ydCBidWdzIHdpdGgg TS14IHJlcG9ydC1lbWFjcy1idWcuXG4iKTsKICAgZXhpdCAoRVhJVF9TVUNDRVNTKTsKQEAgLTE0 NTksOSArMTQ1Miw1NyBAQCB3MzJfZ2l2ZV9mb2N1cyAodm9pZCkKIC8qIFN0YXJ0IHRoZSBlbWFj cyBkYWVtb24gYW5kIHRyeSB0byBjb25uZWN0IHRvIGl0LiAgKi8KIAogc3RhdGljIHZvaWQKK2Nv bm5lY3RfdG9fZW1hY3Nfc29ja2V0ICh2b2lkKQoreworI2lmZGVmIFdJTkRPV1NOVAorICAvKiBJ dCdzIGp1c3QgYSBwcm9ncmVzcyBtZXNzYWdlLCBzbyBkb24ndCBwb3AgYSBkaWFsb2cgaWYgdGhp cyBpcworICAgICBlbWFjc2NsaWVudHcuICAqLworICBpZiAoIXczMl93aW5kb3dfYXBwICgpKQor I2VuZGlmCisgIG1lc3NhZ2UgKHRydWUsICJFbWFjcyBkYWVtb24gc2hvdWxkIGhhdmUgc3RhcnRl ZCwgdHJ5aW5nIHRvIGNvbm5lY3QgYWdhaW5cbiIpOworICBpZiAoKGVtYWNzX3NvY2tldCA9IHNl dF9zb2NrZXQgKDEpKSA9PSBJTlZBTElEX1NPQ0tFVCkKKyAgICB7CisgICAgICBtZXNzYWdlICh0 cnVlLCAiRXJyb3I6IENhbm5vdCBjb25uZWN0IGV2ZW4gYWZ0ZXIgc3RhcnRpbmcgdGhlIEVtYWNz IGRhZW1vblxuIik7CisgICAgICBleGl0IChFWElUX0ZBSUxVUkUpOworICAgIH0KK30KKworc3Rh dGljIHZvaWQKIHN0YXJ0X2RhZW1vbl9hbmRfcmV0cnlfc2V0X3NvY2tldCAodm9pZCkKIHsKLSNp Zm5kZWYgV0lORE9XU05UCisjaWZkZWYgV0lORE9XU05UCisgIERXT1JEIHdhaXRfcmVzdWx0Owor ICBIQU5ETEUgdzMyX2RhZW1vbl9ldmVudDsKKyAgU1RBUlRVUElORk8gc2k7CisgIFBST0NFU1Nf SU5GT1JNQVRJT04gcGk7CisKKyAgWmVyb01lbW9yeSAoJnNpLCBzaXplb2Ygc2kpOworICBzaS5j YiA9IHNpemVvZiBzaTsKKyAgWmVyb01lbW9yeSAoJnBpLCBzaXplb2YgcGkpOworCisgIGlmICgh Q3JlYXRlUHJvY2VzcyAoTlVMTCwgImVtYWNzIC0tZGFlbW9uIiwgTlVMTCwgTlVMTCwgRkFMU0Us CisgICAgICAgICAgICAgICAgICAgICAgQ1JFQVRFX05PX1dJTkRPVywgTlVMTCwgTlVMTCwgJnNp LCAmcGkpKQorICAgIHsKKyAgICAgIG1lc3NhZ2UgKHRydWUsICIlczogZXJyb3Igc3RhcnRpbmcg ZW1hY3MgZGFlbW9uXG4iLCBwcm9nbmFtZSk7CisgICAgICBleGl0IChFWElUX0ZBSUxVUkUpOwor ICAgIH0KKworICB3MzJfZGFlbW9uX2V2ZW50ID0gQ3JlYXRlRXZlbnQgKE5VTEwsIFRSVUUsIEZB TFNFLCBXMzJfRU1BQ1NfU0VSVkVSX0dVSUQpOworICBpZiAodzMyX2RhZW1vbl9ldmVudCA9PSBO VUxMKQorICAgIHsKKyAgICAgIG1lc3NhZ2UgKHRydWUsICJDb3VsZG4ndCBjcmVhdGUgV2luZG93 cyBkYWVtb24gZXZlbnQiKTsKKyAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7CisgICAgfQorICBp ZiAoV2FpdEZvclNpbmdsZU9iamVjdCAodzMyX2RhZW1vbl9ldmVudCwgSU5GSU5JVEUpICE9IFdB SVRfT0JKRUNUXzApCisgICAgeworICAgICAgbWVzc2FnZSAodHJ1ZSwgIkVycm9yIHdoaWxlIHdh aXRpbmcgZm9yIFdpbmRvd3MgZGFlbW9uIGV2ZW50Iik7CisgICAgICBleGl0IChFWElUX0ZBSUxV UkUpOworICAgIH0KKyAgQ2xvc2VIYW5kbGUgKHczMl9kYWVtb25fZXZlbnQpOworCisgIC8qIFRy eSBjb25uZWN0aW5nLCB0aGUgZGFlbW9uIHNob3VsZCBoYXZlIHN0YXJ0ZWQgYnkgbm93LiAgKi8K KyAgY29ubmVjdF90b19lbWFjc19zb2NrZXQgKCk7CisjZWxpZiAhZGVmaW5lZChXSU5ET1dTTlQp CiAgIHBpZF90IGRwaWQ7CiAgIGludCBzdGF0dXM7CiAKQEAgLTE0NzksMTIgKzE1MjAsNyBAQCBz dGFydF9kYWVtb25fYW5kX3JldHJ5X3NldF9zb2NrZXQgKHZvaWQpCiAJfQogCiAgICAgICAvKiBU cnkgY29ubmVjdGluZywgdGhlIGRhZW1vbiBzaG91bGQgaGF2ZSBzdGFydGVkIGJ5IG5vdy4gICov Ci0gICAgICBtZXNzYWdlICh0cnVlLCAiRW1hY3MgZGFlbW9uIHNob3VsZCBoYXZlIHN0YXJ0ZWQs IHRyeWluZyB0byBjb25uZWN0IGFnYWluXG4iKTsKLSAgICAgIGlmICgoZW1hY3Nfc29ja2V0ID0g c2V0X3NvY2tldCAoMSkpID09IElOVkFMSURfU09DS0VUKQotCXsKLQkgIG1lc3NhZ2UgKHRydWUs ICJFcnJvcjogQ2Fubm90IGNvbm5lY3QgZXZlbiBhZnRlciBzdGFydGluZyB0aGUgRW1hY3MgZGFl bW9uXG4iKTsKLQkgIGV4aXQgKEVYSVRfRkFJTFVSRSk7Ci0JfQorICAgICAgY29ubmVjdF90b19l bWFjc19zb2NrZXQgKCk7CiAgICAgfQogICBlbHNlIGlmIChkcGlkIDwgMCkKICAgICB7CkBAIC0x NTExLDcgKzE1NDcsNyBAQCBzdGFydF9kYWVtb25fYW5kX3JldHJ5X3NldF9zb2NrZXQgKHZvaWQp CiAgICAgICBleGVjdnAgKCJlbWFjcyIsIGRfYXJndik7CiAgICAgICBtZXNzYWdlICh0cnVlLCAi JXM6IGVycm9yIHN0YXJ0aW5nIGVtYWNzIGRhZW1vblxuIiwgcHJvZ25hbWUpOwogICAgIH0KLSNl bmRpZiAvKiBXSU5ET1dTTlQgKi8KKyNlbmRpZiAvKiAhV0lORE9XU05UICovCiB9CiAKIGludApk aWZmIC0tZ2l0IGEvbGlzcC9mcmFtZS5lbCBiL2xpc3AvZnJhbWUuZWwKaW5kZXggMWQ1YmJmMi4u MjNiYmMwZCAxMDA2NDQKLS0tIGEvbGlzcC9mcmFtZS5lbAorKysgYi9saXNwL2ZyYW1lLmVsCkBA IC01MzYsNyArNTM2LDggQEAgaXMgbm90IGNvbnNpZGVyZWQgKHNlZSBgbmV4dC1mcmFtZScpLiIK IFJldHVybiBuaWwgaWYgd2UgZG9uJ3Qga25vdyBob3cgdG8gaW50ZXJwcmV0IERJU1BMQVkuIgog ICA7OyBNUy1XaW5kb3dzIGRvZXNuJ3Qga25vdyBob3cgdG8gY3JlYXRlIGEgR1VJIGZyYW1lIGlu IGEgLW53IHNlc3Npb24uCiAgIChpZiAoYW5kIChlcSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkK LQkgICAobnVsbCAod2luZG93LXN5c3RlbSkpKQorCSAgIChudWxsICh3aW5kb3ctc3lzdGVtKSkK KwkgICAobm90IChkYWVtb25wKSkpCiAgICAgICBuaWwKICAgICAoY2wtbG9vcCBmb3IgZGVzY3Jp cHRvciBpbiBkaXNwbGF5LWZvcm1hdC1hbGlzdAogCSAgICAgZm9yIHBhdHRlcm4gPSAoY2FyIGRl c2NyaXB0b3IpCmRpZmYgLS1naXQgYS9saXNwL2ZyYW1lc2V0LmVsIGIvbGlzcC9mcmFtZXNldC5l bAppbmRleCA0YTA2Mzc0Li4xN2ZlMzliIDEwMDY0NAotLS0gYS9saXNwL2ZyYW1lc2V0LmVsCisr KyBiL2xpc3AvZnJhbWVzZXQuZWwKQEAgLTEwMjIsOCArMTAyMiw4IEBAIEludGVybmFsIHVzZSBv bmx5LiIKIChkZWZ1biBmcmFtZXNldC1rZWVwLW9yaWdpbmFsLWRpc3BsYXktcCAoZm9yY2UtZGlz cGxheSkKICAgIlRydWUgaWYgc2F2ZWQgZnJhbWVzJyBkaXNwbGF5cyBzaG91bGQgYmUgaG9ub3Jl ZC4KIEZvciB0aGUgbWVhbmluZyBvZiBGT1JDRS1ESVNQTEFZLCBzZWUgYGZyYW1lc2V0LXJlc3Rv cmUnLiIKLSAgKGNvbmQgKChkYWVtb25wKSB0KQotCSgoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3Mt bnQpIG5pbCkgOzsgRG9lcyBucyBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgZGlzcGxheT8KKyAgKGNv bmQgKChlcSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkgbmlsKSA7OyBEb2VzIG5zIHN1cHBvcnQg bW9yZSB0aGFuIG9uZSBkaXNwbGF5PworCSgoZGFlbW9ucCkgdCkKIAkodCAobm90IGZvcmNlLWRp c3BsYXkpKSkpCiAKIChkZWZ1biBmcmFtZXNldC1taW5pYnVmZmVybGVzcy1maXJzdC1wIChmcmFt ZTEgX2ZyYW1lMikKZGlmZiAtLWdpdCBhL2xpc3Avc2VydmVyLmVsIGIvbGlzcC9zZXJ2ZXIuZWwK aW5kZXggMTY2Y2Q0NC4uOTU4NWIxNyAxMDA2NDQKLS0tIGEvbGlzcC9zZXJ2ZXIuZWwKKysrIGIv bGlzcC9zZXJ2ZXIuZWwKQEAgLTExMzksOSArMTEzOSwxMiBAQCBUaGUgZm9sbG93aW5nIGNvbW1h bmRzIGFyZSBhY2NlcHRlZCBieSB0aGUgY2xpZW50OgogICAgICAgICAgICAgICAgICA7OyBmcmFt ZS4gIElmIHJ1bm5pbmcgYSBHVUkgc2VydmVyLCBmb3JjZSB0aGUgZnJhbWUKICAgICAgICAgICAg ICAgICAgOzsgdHlwZSB0byBHVUkuICAoQ3lnd2luIGlzIHBlcmZlY3RseSBoYXBweSB3aXRoCiAg ICAgICAgICAgICAgICAgIDs7IG11bHRpLXR0eSBzdXBwb3J0LCBzbyBkb24ndCBvdmVycmlkZSB0 aGUgdXNlcidzCi0gICAgICAgICAgICAgICAgIDs7IGNob2ljZSB0aGVyZS4pCisgICAgICAgICAg ICAgICAgIDs7IGNob2ljZSB0aGVyZS4pICBJbiBkYWVtb24gbW9kZSBvbiBXaW5kb3dzLCB3ZSBj YW4ndAorICAgICAgICAgICAgICAgICA7OyBtYWtlIHR0eSBmcmFtZXMsIHNvIGZvcmNlIHRoZSBm cmFtZSB0eXBlIHRvIEdVSQorICAgICAgICAgICAgICAgICA7OyB0aGVyZSB0b28uCiAgICAgICAg ICAgICAgICAgICh3aGVuIChhbmQgKGVxIHN5c3RlbS10eXBlICd3aW5kb3dzLW50KQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChlcSB3aW5kb3ctc3lzdGVtICd3MzIpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChvciAoZGFlbW9ucCkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGVxIHdpbmRvdy1zeXN0ZW0gJ3czMikpKQogICAgICAgICAgICAgICAgICAgIChw dXNoICItd2luZG93LXN5c3RlbSIgYXJncy1sZWZ0KSkpCiAKICAgICAgICAgICAgICAgICA7OyAt cG9zaXRpb24gTElORVs6Q09MVU1OXTogIFNldCBwb2ludCB0byB0aGUgZ2l2ZW4KQEAgLTEyMTUs NyArMTIxOCwxMCBAQCBUaGUgZm9sbG93aW5nIGNvbW1hbmRzIGFyZSBhY2NlcHRlZCBieSB0aGUg Y2xpZW50OgogCQkJCQkgICB0ZXJtaW5hbC1mcmFtZSkpKSkpCiAJCSAgICAoc2V0cSB0dHktbmFt ZSBuaWwgdHR5LXR5cGUgbmlsKQogCQkgICAgKGlmIGRpc3BsYXkgKHNlcnZlci1zZWxlY3QtZGlz cGxheSBkaXNwbGF5KSkpCi0JCSAgICgoZXEgdHR5LW5hbWUgJ3dpbmRvdy1zeXN0ZW0pCisJCSAg ICgob3IgKGFuZCAoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3MtbnQpCisJCQkgICAgIChkYWVtb25w KQorCQkJICAgICAoc2V0cSBkaXNwbGF5ICJ3MzIiKSkKKwkJICAgICAgICAoZXEgdHR5LW5hbWUg J3dpbmRvdy1zeXN0ZW0pKQogCQkgICAgKHNlcnZlci1jcmVhdGUtd2luZG93LXN5c3RlbS1mcmFt ZSBkaXNwbGF5IG5vd2FpdCBwcm9jCiAJCQkJCQkgICAgICAgcGFyZW50LWlkCiAJCQkJCQkgICAg ICAgZnJhbWUtcGFyYW1ldGVycykpCmRpZmYgLS1naXQgYS9zcmMvZGlzcG5ldy5jIGIvc3JjL2Rp c3BuZXcuYwppbmRleCAzYzgxMTdlLi5lODZmYmI4IDEwMDY0NAotLS0gYS9zcmMvZGlzcG5ldy5j CisrKyBiL3NyYy9kaXNwbmV3LmMKQEAgLTU5NzQsOSArNTk3NCwxMiBAQCBpbml0X2Rpc3BsYXkg KHZvaWQpCiAgICAgfQogI2VuZGlmIC8qIFNJR1dJTkNIICovCiAKLSAgLyogSWYgcnVubmluZyBh cyBhIGRhZW1vbiwgbm8gbmVlZCB0byBpbml0aWFsaXplIGFueSBmcmFtZXMvdGVybWluYWwuICov CisgIC8qIElmIHJ1bm5pbmcgYXMgYSBkYWVtb24sIG5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBhbnkg ZnJhbWVzL3Rlcm1pbmFsLAorICAgICBleGNlcHQgb24gV2luZG93cywgd2hlcmUgd2UgYXQgbGVh c3Qgd2FudCB0byBpbml0aWFsaXplIGl0LiAgKi8KKyNpZm5kZWYgV0lORE9XU05UCiAgIGlmIChJ U19EQUVNT04pCiAgICAgICByZXR1cm47CisjZW5kaWYKIAogICAvKiBJZiB0aGUgdXNlciB3YW50 cyB0byB1c2UgYSB3aW5kb3cgc3lzdGVtLCB3ZSBzaG91bGRuJ3QgYm90aGVyCiAgICAgIGluaXRp YWxpemluZyB0aGUgdGVybWluYWwuICBUaGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4g dGhlCmRpZmYgLS1naXQgYS9zcmMvZW1hY3MuYyBiL3NyYy9lbWFjcy5jCmluZGV4IDM0NWZlM2Uu LjgyMjdlYjAgMTAwNjQ0Ci0tLSBhL3NyYy9lbWFjcy5jCisrKyBiL3NyYy9lbWFjcy5jCkBAIC0z OSw2ICszOSw3IEBAIGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KICNpbmNsdWRlIDxtYnN0cmluZy5oPgogI2luY2x1 ZGUgInczMi5oIgogI2luY2x1ZGUgInczMmhlYXAuaCIKKyNpbmNsdWRlICJzZXJ2ZXItZ3VpZC5o IgogI2VuZGlmCiAKICNpZiBkZWZpbmVkIFdJTkRPV1NOVCB8fCBkZWZpbmVkIEhBVkVfTlRHVUkK QEAgLTE5NSw5ICsxOTYsMTUgQEAgYm9vbCBub19zaXRlX2xpc3A7CiAvKiBOYW1lIGZvciB0aGUg c2VydmVyIHN0YXJ0ZWQgYnkgdGhlIGRhZW1vbi4qLwogc3RhdGljIGNoYXIgKmRhZW1vbl9uYW1l OwogCisjaWZuZGVmIFdJTkRPV1NOVAogLyogUGlwZSB1c2VkIHRvIHNlbmQgZXhpdCBub3RpZmlj YXRpb24gdG8gdGhlIGRhZW1vbiBwYXJlbnQgYXQKICAgIHN0YXJ0dXAuICAqLwogaW50IGRhZW1v bl9waXBlWzJdOworI2Vsc2UKK2Jvb2wgdzMyX2lzX2RhZW1vbjsKK2Jvb2wgdzMyX2RhZW1vbl9p c19pbml0aWFsaXplZDsKK3N0YXRpYyBIQU5ETEUgdzMyX2RhZW1vbl9ldmVudDsKKyNlbmRpZgog CiAvKiBTYXZlIGFyZ3YgYW5kIGFyZ2MuICAqLwogY2hhciAqKmluaXRpYWxfYXJndjsKQEAgLTk4 MCw4ICs5ODcsMTAgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgZXhpdCAo MCk7CiAgICAgfQogCisjaWZuZGVmIFdJTkRPV1NOVAogICAvKiBNYWtlIHN1cmUgSVNfREFFTU9O IHN0YXJ0cyB1cCBhcyBmYWxzZS4gICovCiAgIGRhZW1vbl9waXBlWzFdID0gMDsKKyNlbmRpZgog CiAgIGlmIChhcmdtYXRjaCAoYXJndiwgYXJnYywgIi1kYWVtb24iLCAiLS1kYWVtb24iLCA1LCBO VUxMLCAmc2tpcF9hcmdzKQogICAgICAgfHwgYXJnbWF0Y2ggKGFyZ3YsIGFyZ2MsICItZGFlbW9u IiwgIi0tZGFlbW9uIiwgNSwgJmRuYW1lX2FyZywgJnNraXBfYXJncykpCkBAIC0xMTExLDEwICsx MTIwLDEyIEBAIFVzaW5nIGFuIEVtYWNzIGNvbmZpZ3VyZWQgd2l0aCAtLXdpdGgteC10b29sa2l0 PWx1Y2lkIGRvZXMgbm90IGhhdmUgdGhpcyBwcm9ibGVtCiAgICAgICBlbWFjc19jbG9zZSAoZGFl bW9uX3BpcGVbMF0pOwogCiAgICAgICBzZXRzaWQgKCk7Ci0jZWxzZSAvKiBET1NfTlQgKi8KKyNl bGlmIGRlZmluZWQoV0lORE9XU05UKQorICAgICAgdzMyX2lzX2RhZW1vbiA9IDE7CisjZWxzZSAv KiBNU0RPUyAqLwogICAgICAgZnByaW50ZiAoc3RkZXJyLCAiVGhpcyBwbGF0Zm9ybSBkb2VzIG5v dCBzdXBwb3J0IHRoZSAtZGFlbW9uIGZsYWcuXG4iKTsKICAgICAgIGV4aXQgKDEpOwotI2VuZGlm IC8qIERPU19OVCAqLworI2VuZGlmIC8qIE1TRE9TICovCiAgICAgfQogCiAjaWYgZGVmaW5lZCBI QVZFX1BUSFJFQUQgJiYgIWRlZmluZWQgU1lTVEVNX01BTExPQyBcCkBAIC0yMzEwLDIzICsyMzIx LDQ1IEBAIElmIHRoZSBkYWVtb24gd2FzIGdpdmVuIGEgbmFtZSBhcmd1bWVudCwgcmV0dXJuIHRo YXQgbmFtZS4gKi8pCiAgICAgcmV0dXJuIFFuaWw7CiB9CiAKK3N0YXRpYyB2b2lkCitkYWVtb25f Y2hlY2tfcHJlY29uZGl0aW9ucyAodm9pZCkKK3sKKyAgaWYgKCFJU19EQUVNT04pCisgICAgZXJy b3IgKCJUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IGJlIGNhbGxlZCBpZiBlbWFjcyBpcyBydW4gYXMg YSBkYWVtb24iKTsKKworI2lmZGVmIFdJTkRPV1NOVAorICBpZiAodzMyX2RhZW1vbl9pc19pbml0 aWFsaXplZCkKKyNlbHNlCisgIGlmIChkYWVtb25fcGlwZVsxXSA8IDAgKQorI2VuZGlmCisgICAg ZXJyb3IgKCJUaGUgZGFlbW9uIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWQiKTsKKworICBp ZiAoTklMUCAoVmFmdGVyX2luaXRfdGltZSkpCisgICAgZXJyb3IgKCJUaGlzIGZ1bmN0aW9uIGNh biBvbmx5IGJlIGNhbGxlZCBhZnRlciBsb2FkaW5nIHRoZSBpbml0IGZpbGVzIik7Cit9CisKIERF RlVOICgiZGFlbW9uLWluaXRpYWxpemVkIiwgRmRhZW1vbl9pbml0aWFsaXplZCwgU2RhZW1vbl9p bml0aWFsaXplZCwgMCwgMCwgMCwKICAgICAgICBkb2M6IC8qIE1hcmsgdGhlIEVtYWNzIGRhZW1v biBhcyBiZWluZyBpbml0aWFsaXplZC4KIFRoaXMgZmluaXNoZXMgdGhlIGRhZW1vbml6YXRpb24g cHJvY2VzcyBieSBkb2luZyB0aGUgb3RoZXIgaGFsZiBvZiBkZXRhY2hpbmcKIGZyb20gdGhlIHBh cmVudCBwcm9jZXNzIGFuZCBpdHMgdHR5IGZpbGUgZGVzY3JpcHRvcnMuICAqLykKICAgKHZvaWQp CiB7CisjaWZkZWYgV0lORE9XU05UCisgIGRhZW1vbl9jaGVja19wcmVjb25kaXRpb25zICgpOwor CisgIHczMl9kYWVtb25fZXZlbnQgPSBDcmVhdGVFdmVudCAoTlVMTCwgVFJVRSwgRkFMU0UsIFcz Ml9FTUFDU19TRVJWRVJfR1VJRCk7CisgIGlmICh3MzJfZGFlbW9uX2V2ZW50ID09IE5VTEwpCisg ICAgZXJyb3IgKCJDb3VsZG4ndCBjcmVhdGUgZXZlbnQgZm9yIFdpbmRvd3MgZGFlbW9uIik7Cisg IGlmIChHZXRMYXN0RXJyb3IgKCkgPT0gRVJST1JfQUxSRUFEWV9FWElTVFMpCisgICAgLyogU2ln bmFsIHRoZSB3YWl0aW5nIGVtYWNzY2xpZW50IHByb2Nlc3MuICAqLworICAgIFNldEV2ZW50ICh3 MzJfZGFlbW9uX2V2ZW50KTsKKyAgQ2xvc2VIYW5kbGUgKHczMl9kYWVtb25fZXZlbnQpOworICB3 MzJfZGFlbW9uX2lzX2luaXRpYWxpemVkID0gdHJ1ZTsKKyNlbHNlCiAgIGludCBuZmQ7CiAgIGJv b2wgZXJyID0gMDsKIAotICBpZiAoIUlTX0RBRU1PTikKLSAgICBlcnJvciAoIlRoaXMgZnVuY3Rp b24gY2FuIG9ubHkgYmUgY2FsbGVkIGlmIGVtYWNzIGlzIHJ1biBhcyBhIGRhZW1vbiIpOwotCi0g IGlmIChkYWVtb25fcGlwZVsxXSA8IDApCi0gICAgZXJyb3IgKCJUaGUgZGFlbW9uIGhhcyBhbHJl YWR5IGJlZW4gaW5pdGlhbGl6ZWQiKTsKLQotICBpZiAoTklMUCAoVmFmdGVyX2luaXRfdGltZSkp Ci0gICAgZXJyb3IgKCJUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IGJlIGNhbGxlZCBhZnRlciBsb2Fk aW5nIHRoZSBpbml0IGZpbGVzIik7CisgIGRhZW1vbl9jaGVja19wcmVjb25kaXRpb25zICgpOwog CiAgIC8qIEdldCByaWQgb2Ygc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyLiAgKi8KICAgbmZkID0g ZW1hY3Nfb3BlbiAoIi9kZXYvbnVsbCIsIE9fUkRXUiwgMCk7CkBAIC0yMzUwLDYgKzIzODMsNyBA QCBmcm9tIHRoZSBwYXJlbnQgcHJvY2VzcyBhbmQgaXRzIHR0eSBmaWxlIGRlc2NyaXB0b3JzLiAg Ki8pCiAKICAgaWYgKGVycikKICAgICBlcnJvciAoIkkvTyBlcnJvciBkdXJpbmcgZGFlbW9uIGlu aXRpYWxpemF0aW9uIik7CisjZW5kaWYKICAgcmV0dXJuIFF0OwogfQogCmRpZmYgLS1naXQgYS9z cmMva2V5Ym9hcmQuYyBiL3NyYy9rZXlib2FyZC5jCmluZGV4IDM4M2MxMDkuLmZhYzk2MTUgMTAw NjQ0Ci0tLSBhL3NyYy9rZXlib2FyZC5jCisrKyBiL3NyYy9rZXlib2FyZC5jCkBAIC0zODI5LDcg KzM4MjksMTEgQEAga2JkX2J1ZmZlcl9nZXRfZXZlbnQgKEtCT0FSRCAqKmticCwKICAgaWYgKG5v bmludGVyYWN0aXZlCiAgICAgICAvKiBJbiBjYXNlIHdlIGFyZSBydW5uaW5nIGFzIGEgZGFlbW9u LCBvbmx5IGRvIHRoaXMgYmVmb3JlCiAJIGRldGFjaGluZyBmcm9tIHRoZSB0ZXJtaW5hbC4gICov CisjaWZkZWYgV0lORE9XU05UCisgICAgICB8fCAoSVNfREFFTU9OICYmICF3MzJfZGFlbW9uX2lz X2luaXRpYWxpemVkKSkKKyNlbHNlCiAgICAgICB8fCAoSVNfREFFTU9OICYmIGRhZW1vbl9waXBl WzFdID49IDApKQorI2VuZGlmCiAgICAgewogICAgICAgaW50IGMgPSBnZXRjaGFyICgpOwogICAg ICAgWFNFVElOVCAob2JqLCBjKTsKZGlmZiAtLWdpdCBhL3NyYy9saXNwLmggYi9zcmMvbGlzcC5o CmluZGV4IGY1MjQyYWIuLmY5ZTVkYzQgMTAwNjQ0Ci0tLSBhL3NyYy9saXNwLmgKKysrIGIvc3Jj L2xpc3AuaApAQCAtNDIxNSw5ICs0MjE1LDE1IEBAIGV4dGVybiBib29sIG5vbmludGVyYWN0aXZl OwogZXh0ZXJuIGJvb2wgbm9fc2l0ZV9saXNwOwogCiAvKiBQaXBlIHVzZWQgdG8gc2VuZCBleGl0 IG5vdGlmaWNhdGlvbiB0byB0aGUgZGFlbW9uIHBhcmVudCBhdAotICAgc3RhcnR1cC4gICovCisg ICBzdGFydHVwLiAgT24gV2luZG93cywgd2UgdXNlIGEga2VybmVsIGV2ZW50IGluc3RlYWQuICAq LworI2lmbmRlZiBXSU5ET1dTTlQKIGV4dGVybiBpbnQgZGFlbW9uX3BpcGVbMl07CiAjZGVmaW5l IElTX0RBRU1PTiAoZGFlbW9uX3BpcGVbMV0gIT0gMCkKKyNlbGlmIGRlZmluZWQoV0lORE9XU05U KQorZXh0ZXJuIGJvb2wgdzMyX2lzX2RhZW1vbjsKK2V4dGVybiBib29sIHczMl9kYWVtb25faXNf aW5pdGlhbGl6ZWQ7CisjZGVmaW5lIElTX0RBRU1PTiAodzMyX2lzX2RhZW1vbiAhPSAwKQorI2Vu ZGlmCiAKIC8qIFRydWUgaWYgaGFuZGxpbmcgYSBmYXRhbCBlcnJvciBhbHJlYWR5LiAgKi8KIGV4 dGVybiBib29sIGZhdGFsX2Vycm9yX2luX3Byb2dyZXNzOwpkaWZmIC0tZ2l0IGEvc3JjL21pbmli dWYuYyBiL3NyYy9taW5pYnVmLmMKaW5kZXggMzQwOGJiOS4uM2RjZWIyNyAxMDA2NDQKLS0tIGEv c3JjL21pbmlidWYuYworKysgYi9zcmMvbWluaWJ1Zi5jCkBAIC00NTksNyArNDU5LDExIEBAIHJl YWRfbWluaWJ1ZiAoTGlzcF9PYmplY3QgbWFwLCBMaXNwX09iamVjdCBpbml0aWFsLCBMaXNwX09i amVjdCBwcm9tcHQsCiAgIGlmICgobm9uaW50ZXJhY3RpdmUKICAgICAgICAvKiBJbiBjYXNlIHdl IGFyZSBydW5uaW5nIGFzIGEgZGFlbW9uLCBvbmx5IGRvIHRoaXMgYmVmb3JlCiAJICBkZXRhY2hp bmcgZnJvbSB0aGUgdGVybWluYWwuICAqLworI2lmZGVmIFdJTkRPV1NOVAorICAgICAgIHx8IChJ U19EQUVNT04gJiYgIXczMl9kYWVtb25faXNfaW5pdGlhbGl6ZWQpKQorI2Vsc2UKICAgICAgICB8 fCAoSVNfREFFTU9OICYmIChkYWVtb25fcGlwZVsxXSA+PSAwKSkpCisjZW5kaWYKICAgICAgICYm IE5JTFAgKFZleGVjdXRpbmdfa2JkX21hY3JvKSkKICAgICB7CiAgICAgICB2YWwgPSByZWFkX21p bmlidWZfbm9uaW50ZXJhY3RpdmUgKG1hcCwgaW5pdGlhbCwgcHJvbXB0LApkaWZmIC0tZ2l0IGEv c3JjL3NlcnZlci1ndWlkLmggYi9zcmMvc2VydmVyLWd1aWQuaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5hNThlYmY0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3NlcnZlci1n dWlkLmgKQEAgLTAsMCArMSwyNSBAQAorLyogRXZlbnQgR1VJRCBmb3Igd2hlbiBlbWFjc2NsaWVu dCBzdGFydHMgdGhlIEVtYWNzIGRhZW1vbiBvbiBXaW5kb3dzLgorCitDb3B5cmlnaHQgKEMpIDE5 ODYtMTk4NywgMTk5NCwgMTk5OS0yMDE0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor CitUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCisKK0dOVSBFbWFjcyBpcyBmcmVlIHNv ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CitpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKK0dOVSBF bWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKK01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKK0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisKK1lvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCithbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNpZm5kZWYgU0VSVkVSX0dVSURfSAorI2Rl ZmluZSBTRVJWRVJfR1VJRF9ICisKKyNkZWZpbmUgVzMyX0VNQUNTX1NFUlZFUl9HVUlEICJ7MEI4 RTVEQ0ItRDdDRi00NDIzLUE5RjEtMkY2OTI3RjBEMzE4fSIKKworI2VuZGlmCg== --e89a8f83941f5fa8ff050d7ee322-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 25 15:34:37 2015 Received: (at 19688) by debbugs.gnu.org; 25 Jan 2015 20:34:37 +0000 Received: from localhost ([127.0.0.1]:56258 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFTtE-00084E-3n for submit@debbugs.gnu.org; Sun, 25 Jan 2015 15:34:36 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:33182) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFTtA-00083w-RE for 19688@debbugs.gnu.org; Sun, 25 Jan 2015 15:34:34 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NIR00H002A79Z00@a-mtaout22.012.net.il> for 19688@debbugs.gnu.org; Sun, 25 Jan 2015 22:34:25 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIR00GK32HDVM80@a-mtaout22.012.net.il>; Sun, 25 Jan 2015 22:34:25 +0200 (IST) Date: Sun, 25 Jan 2015 22:34:10 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83h9ver459.fsf@gnu.org> References: X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Mon, 26 Jan 2015 04:18:34 +0900 > From: Mark Laws > > Attached is a patch which should apply cleanly on top of master > (a3689d3c661fe36df971c875760f8d500b5ae994 as of this email). It allows > Emacs to run as a daemon on Windows. Without daemon mode, emacsclient > -a "" does not work, which makes it impossible to pass elisp to Emacs > via emacsclient unless Emacs is already running. In other words, this > will now work correctly: > > emacsclient -a "" -e "(ediff-merge-files-with-ancestor ...)" Thanks. Did you get your paperwork with the FSF clerk done? I don't see your assignment on file yet. > +#define W32_EMACS_SERVER_GUID "{0B8E5DCB-D7CF-4423-A9F1-2F6927F0D318}" Where did this GUID come from? In any case, instead of adding a one-line header file, it is better to put this on nt/inc/ms-w32.h, which is included by both emacsclient.c and all src/*.c files via src/config.h. > +#ifndef WINDOWSNT > /* Pipe used to send exit notification to the daemon parent at > startup. */ > int daemon_pipe[2]; > +#else > +bool w32_is_daemon; > +bool w32_daemon_is_initialized; > +static HANDLE w32_daemon_event; > +#endif Why do we need anything beyond the event handle? Can't it serve double duty as a flag as well? We could use INVALID_HANDLE_VALUE and/or NULL as distinct values with specific meanings. > +#ifndef WINDOWSNT > /* Make sure IS_DAEMON starts up as false. */ > daemon_pipe[1] = 0; > +#endif You should do a similar initialization on WINDOWSNT, to avoid using the value that was initialized when Emacs was dumped. > +#ifdef WINDOWSNT > + daemon_check_preconditions (); > + > + w32_daemon_event = CreateEvent (NULL, TRUE, FALSE, W32_EMACS_SERVER_GUID); > + if (w32_daemon_event == NULL) > + error ("Couldn't create event for Windows daemon"); > + if (GetLastError () == ERROR_ALREADY_EXISTS) > + /* Signal the waiting emacsclient process. */ > + SetEvent (w32_daemon_event); > + CloseHandle (w32_daemon_event); > + w32_daemon_is_initialized = true; > +#else Please move this code to a function in w32.c, and here just call that function. Also, the call to daemon_check_preconditions should be outside of the #ifdef, as it is used on all platforms. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 26 01:01:01 2015 Received: (at 19688) by debbugs.gnu.org; 26 Jan 2015 06:01:01 +0000 Received: from localhost ([127.0.0.1]:56468 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFcjM-00084Z-OO for submit@debbugs.gnu.org; Mon, 26 Jan 2015 01:01:01 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:53359) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFcjK-00084J-AZ for 19688@debbugs.gnu.org; Mon, 26 Jan 2015 01:00:59 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NIR00K00SKIZS00@a-mtaout22.012.net.il> for 19688@debbugs.gnu.org; Mon, 26 Jan 2015 08:00:51 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIR00KKWSPET570@a-mtaout22.012.net.il>; Mon, 26 Jan 2015 08:00:51 +0200 (IST) Date: Mon, 26 Jan 2015 08:00:37 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83d262qdx6.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) [Please keep the bug address on the CC list, so that this whole discussion gets archived.] > Date: Mon, 26 Jan 2015 08:16:38 +0900 > From: Mark Laws > > >> +#define W32_EMACS_SERVER_GUID "{0B8E5DCB-D7CF-4423-A9F1-2F6927F0D318}" > > > > Where did this GUID come from? > > > I generated it myself. Is that safe? Do we care whether this GUID is globally unique? Why exactly do we need it to begin with? > Moved to ms-w32.h and removed changes relating to the header. Thanks. > >> +#else > >> +bool w32_is_daemon; > >> +bool w32_daemon_is_initialized; > >> +static HANDLE w32_daemon_event; > >> +#endif > > > > Why do we need anything beyond the event handle? Can't it serve > > double duty as a flag as well? We could use INVALID_HANDLE_VALUE > > and/or NULL as distinct values with specific meanings. > > I've reworked it to use only w32_daemon_event. One minor issue: to > avoid including any Windows-related headers in lisp.h, the extern > declaration of w32_daemon_event there is void* instead of HANDLE. I > doubt the type of HANDLE will ever change, so it shouldn't matter > much. That should be fine, but there's no need to have the handle in lisp.h, either. We could put it on w32.h, for example, which is already included by emacs.c and other files. If w32.h doesn't fit the bill, please try to find some other w32*.h which does. > >> +#ifndef WINDOWSNT > >> /* Make sure IS_DAEMON starts up as false. */ > >> daemon_pipe[1] = 0; > >> +#endif > > > > You should do a similar initialization on WINDOWSNT, to avoid using > > the value that was initialized when Emacs was dumped. > > I'm not sure I understand. Do you mean for w32_daemon_event? If so, it > should already always be zero when Emacs starts up. It might not be zero. Recall that Emacs is run during the build process, when it executes some code, and then "dumps itself", which involves writing portions of its memory to a disk file that thereafter becomes the emacs.exe you run normally. If, for some reason, w32_daemon_event is initialized in this first instance, it will not be zero in the dumped image. So we always re-initialize such variables explicitly, instead of relying on the linker initializations. You can see that in the sources, and that is also the reason why the Posix code initializes daemon_pipe[1]. > > Also, the call to daemon_check_preconditions should be outside of the > > #ifdef, as it is used on all platforms. > > daemon_check_preconditions already gets called for both WINDOWSNT and > !WINDOWSNT (see the #else). If we move it outside the #ifdef to > eliminate having to mention it for both cases, then "nfd" and "err" > will also have to be outside the ifdef in order to be compatible with > strict pre-C99 compilers that only accept variable declarations at the > beginning of blocks. C99 compliant compiler is a prerequisite in the development version of Emacs, so this problem doesn't exist. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 26 02:40:21 2015 Received: (at 19688) by debbugs.gnu.org; 26 Jan 2015 07:40:22 +0000 Received: from localhost ([127.0.0.1]:56533 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFeHV-00025s-2H for submit@debbugs.gnu.org; Mon, 26 Jan 2015 02:40:21 -0500 Received: from mail-ie0-f177.google.com ([209.85.223.177]:37465) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFeHQ-00025Y-EX for 19688@debbugs.gnu.org; Mon, 26 Jan 2015 02:40:17 -0500 Received: by mail-ie0-f177.google.com with SMTP id vy18so7221843iec.8 for <19688@debbugs.gnu.org>; Sun, 25 Jan 2015 23:40:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=aMxcS7kflq29cQVGd81A53zP/s8tqTTRX9VBh2pDIRk=; b=WkVl/rZpAl7peBUzbz9aTj83HVste81cF8w0J2bMVpJ98Jy/FTP2FQniV0hincfLA2 J+tJ7zXgZtnREJ/azkeXDQFYoEDRRo3NUtNfjD4fghMolj2dXahOmI7JwcWK7wnwJpk4 wZMKq7637zzvYG9VMlb45SXw+qYMqECP061m11M2X3mh8jwJOYXMBO0U5LaJYbohvGPq 4iBYyRsIEOvXizbWZaxHleZG4N/As3poVmWHfRQsTECUyw/JMrjOYdAsJmUMZt29ma89 wrvUrXnhzQ00hsUGAnqCa5IxiuhYx3FQ47rHp9DjNLGoKaeQ7WsIE8shjhwGMjHkyqP/ mQOQ== X-Gm-Message-State: ALoCoQkoS7ZErCSwfM7PQjppmMjEeEkKI9PM+unIEbHmEEaKwJCqqdWgZsDcCoCEzUvw9eLf6Nki MIME-Version: 1.0 X-Received: by 10.50.112.98 with SMTP id ip2mr14699441igb.15.1422258010477; Sun, 25 Jan 2015 23:40:10 -0800 (PST) Received: by 10.64.155.4 with HTTP; Sun, 25 Jan 2015 23:40:10 -0800 (PST) X-Originating-IP: [119.245.8.208] In-Reply-To: <83d262qdx6.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> Date: Mon, 26 Jan 2015 16:40:10 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Mon, Jan 26, 2015 at 3:00 PM, Eli Zaretskii wrote: > [Please keep the bug address on the CC list, so that this whole > discussion gets archived.] Oops, blindly hit reply last time without noticing where it was going to--sorry about that. >> Date: Mon, 26 Jan 2015 08:16:38 +0900 >> From: Mark Laws >> >> >> +#define W32_EMACS_SERVER_GUID "{0B8E5DCB-D7CF-4423-A9F1-2F6927F0D318}" >> > >> > Where did this GUID come from? >> > >> I generated it myself. > > Is that safe? Do we care whether this GUID is globally unique? Why > exactly do we need it to begin with? It should be safe. On UNIX, Emacs uses a pipe to tell emacsclient when it's done initializing. On Windows, since we don't have fork, the easiest options are either a named event object[1] or specifying that the child process inherit the event handle in CreateProcess. The former is simpler, so I went with it. We could call it "EmacsDaemonEvent" or something instead; it doesn't really matter as long as it's a name nothing else is likely to use. [1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms682396%28v=vs.85%29.aspx >> > Why do we need anything beyond the event handle? Can't it serve >> > double duty as a flag as well? We could use INVALID_HANDLE_VALUE >> > and/or NULL as distinct values with specific meanings. >> >> I've reworked it to use only w32_daemon_event. One minor issue: to >> avoid including any Windows-related headers in lisp.h, the extern >> declaration of w32_daemon_event there is void* instead of HANDLE. I >> doubt the type of HANDLE will ever change, so it shouldn't matter >> much. > > That should be fine, but there's no need to have the handle in lisp.h, > either. We could put it on w32.h, for example, which is already > included by emacs.c and other files. If w32.h doesn't fit the bill, > please try to find some other w32*.h which does. IS_DAEMON is defined in lisp.h, so it seems to make the most sense to put it there rather than having a different IS_DAEMON for Windows in another place. We'd have to #include a w32 header just for IS_DAEMON in a lot more files if we move it to one of them, too. >> >> +#ifndef WINDOWSNT >> >> /* Make sure IS_DAEMON starts up as false. */ >> >> daemon_pipe[1] = 0; >> >> +#endif >> > >> > You should do a similar initialization on WINDOWSNT, to avoid using >> > the value that was initialized when Emacs was dumped. >> >> I'm not sure I understand. Do you mean for w32_daemon_event? If so, it >> should already always be zero when Emacs starts up. > > It might not be zero. Recall that Emacs is run during the build > process, when it executes some code, and then "dumps itself", which > involves writing portions of its memory to a disk file that thereafter > becomes the emacs.exe you run normally. If, for some reason, > w32_daemon_event is initialized in this first instance, it will not be > zero in the dumped image. > > So we always re-initialize such variables explicitly, instead of > relying on the linker initializations. You can see that in the > sources, and that is also the reason why the Posix code initializes > daemon_pipe[1]. OK, fixed. >> > Also, the call to daemon_check_preconditions should be outside of the >> > #ifdef, as it is used on all platforms. >> >> daemon_check_preconditions already gets called for both WINDOWSNT and >> !WINDOWSNT (see the #else). If we move it outside the #ifdef to >> eliminate having to mention it for both cases, then "nfd" and "err" >> will also have to be outside the ifdef in order to be compatible with >> strict pre-C99 compilers that only accept variable declarations at the >> beginning of blocks. > > C99 compliant compiler is a prerequisite in the development version of > Emacs, so this problem doesn't exist. Fixed. I'll attach another patch when we figure out what to do about the remaining issues. -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 26 06:56:42 2015 Received: (at 19688) by debbugs.gnu.org; 26 Jan 2015 11:56:42 +0000 Received: from localhost ([127.0.0.1]:56632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFiHZ-0008LW-A9 for submit@debbugs.gnu.org; Mon, 26 Jan 2015 06:56:41 -0500 Received: from dancol.org ([96.126.100.184]:48771) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFiHU-0008LL-Ui for 19688@debbugs.gnu.org; Mon, 26 Jan 2015 06:56:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:References:Subject:CC:To:MIME-Version:From:Date:Message-ID; bh=VD9ql1q541UPS+YYRjNFwETtgZxPFtYh0GxAbfzDbtM=; b=TtDrAvkZ4w4JXVay+j1A5bpBd/KZnDSz73VYFKin1ayGAkvOzgg8qF8XvJRuiV/8ftWo88Pix5dGXZxZP7FSpNRWn9ohnEVMlaCu+KR0USeKwKtk1r2W5sD8FArMtuBFheS2PJyI94VOK+Kkr1xaz5hJkuZkI+Twyf+tgIsCxGbEtDyMxbYPEmh9bDcnPan+ZsL4AjbLrA6xEq04BXducWGdp+s7OlFrAhIsKcmI+QGZK/Da4X9LkEAi4m1qMCJCsvzymWniMY0/Oe1bHuKD2uo21jJi0TxwCEYMXqReNdfUXxGztdpzrQnizHKNVrM2xzy0xXjQFo4HT6A++AzJ3Q==; Received: from [2620:10d:c081:1101:2ab2:bdff:fe1c:db58] by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84) (envelope-from ) id 1YFiHS-0007TD-Ek; Mon, 26 Jan 2015 03:56:34 -0800 Message-ID: <54C62B6C.3050608@dancol.org> Date: Mon, 26 Jan 2015 03:56:28 -0800 From: Daniel Colascione User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Mark Laws , Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="4MRU0kMhDpSCAGQimF1scqxvQBFhEIf6o" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --4MRU0kMhDpSCAGQimF1scqxvQBFhEIf6o Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 01/25/2015 11:40 PM, Mark Laws wrote: > On Mon, Jan 26, 2015 at 3:00 PM, Eli Zaretskii wrote: >> [Please keep the bug address on the CC list, so that this whole >> discussion gets archived.] >=20 > Oops, blindly hit reply last time without noticing where it was going > to--sorry about that. >=20 >>> Date: Mon, 26 Jan 2015 08:16:38 +0900 >>> From: Mark Laws >>> >>>>> +#define W32_EMACS_SERVER_GUID "{0B8E5DCB-D7CF-4423-A9F1-2F6927F0D3= 18}" >>>> >>>> Where did this GUID come from? >>>> >>> I generated it myself. >> >> Is that safe? Do we care whether this GUID is globally unique? Why >> exactly do we need it to begin with? >=20 > It should be safe. On UNIX, Emacs uses a pipe to tell emacsclient when > it's done initializing. On Windows, since we don't have fork, the > easiest options are either a named event object[1] or specifying that > the child process inherit the event handle in CreateProcess. The > former is simpler, so I went with it. We could call it > "EmacsDaemonEvent" or something instead; it doesn't really matter as > long as it's a name nothing else is likely to use. Inheriting an anonymous event feels a bit cleaner to me; you can provide the HANDLE value in an environment variable or a command line parameter. Failing that, the event name should at least contain "emacs" somewhere so as to not confuse people browsing named object directories. --4MRU0kMhDpSCAGQimF1scqxvQBFhEIf6o Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCAAGBQJUxitsAAoJEN4WImmbpWBlKjcP/ii2WYvulfOtinELQOHS22sA e5xdc90MsDrV+9ZY69EBDmJni3RpNOqJor1VveBbBc7wMoxe3encJQFHoOvC6DE6 Lix8fSxOVAuRF9tmn+QdYr4YJ90TWETgbqQuXuuWomnXv0mNeU7UzRGGmm2ODJuI u+2Odh2x6/0HMogZeh3H2RKKmLSY9TW1aFvjGJlI4wCDD2OrsVCgKGTgQgt72ig4 /Ryw9XcWeuUcIq1Llrq9bRPtDujA45WE6jBJIeOVfGWdYQoGtuRS5CtX5EO/hOf8 LJmmcFrL4ybaFsK6E4pikczaH50OnoQI/7OsDAyeoExCLWCtrrF4jPKYC6URfjW+ iqm52ijpVMajEcZS/pdhBuVpyO1T+znrrgTvmrsyozKfcgG7JurSkDYN57jPy6XY 2No0IfVHh2O0jVr7ai5I4zj4MKQyeoKZU35kdDAIFViFKvyR4MoKmqettvxOotfC +4qbH1MIKSiN9y1mDwgg9YjhjFO7cZoI/g6PdUNFktdtH7zG/f75uvFz3vDR9JDc FrJDgQ5D2annwguQB5tHcy1coR3tYLF4tZZiA3vOfuDbkHgXNRZWYe1/4GVVwuGj NWyXZoEJD1xMMxOBoj3U7mnRMxdb5EaLKqr3W4x+3X8+MpANo6n57PLA+Q3aursG VStFTUXQSMqab1vnr3np =jTyv -----END PGP SIGNATURE----- --4MRU0kMhDpSCAGQimF1scqxvQBFhEIf6o-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 27 03:40:39 2015 Received: (at 19688) by debbugs.gnu.org; 27 Jan 2015 08:40:39 +0000 Received: from localhost ([127.0.0.1]:57500 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YG1hN-0007Li-SK for submit@debbugs.gnu.org; Tue, 27 Jan 2015 03:40:38 -0500 Received: from mail-ig0-f177.google.com ([209.85.213.177]:55887) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YG1hJ-0007LU-T2 for 19688@debbugs.gnu.org; Tue, 27 Jan 2015 03:40:34 -0500 Received: by mail-ig0-f177.google.com with SMTP id z20so3384206igj.4 for <19688@debbugs.gnu.org>; Tue, 27 Jan 2015 00:40:28 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=6gjytWHxR0n5m5Pjr0avb6lF2ttyolNZn7+GHvf6g70=; b=mn1P2gDpDpNKwF7ECpnvC79euBoITWpIvvIwUr4TRtk7ZR4nnHp1P+z4aTsRyB/2hx wPnrG3Hz2RITbyOsDfmHAwBnYpl71xPelRdcNGSnulbGFFAKe9jI3xFp6ORe8LRBU5Uu Iio7Il1O77DFz3WyeDv7Bmg8v6jFEYFRNAcFp1+kJe9cl6t9bjyM1EoCNk/jyfj0SJem NasRwBm8irM3szgeOJx7/ZLd/B0zpYEg0sDVPcvCrGFJOAyrI5H0ICTdW15pKgXNX+d/ PxbEmqQR0nB986w4Qeg+xwqV2uL1D6aiN33Kjksu7vMaRMzk50v6lSOHrVnWO1xGcs/8 I0rA== X-Gm-Message-State: ALoCoQk6S76OmwoSoxw8B/632p0K936LGMtIbGqE0TNK3YJq/Fu05rgthUFW2i4s/0WyQtRhIO/0 MIME-Version: 1.0 X-Received: by 10.107.160.193 with SMTP id j184mr1057155ioe.0.1422348028115; Tue, 27 Jan 2015 00:40:28 -0800 (PST) Received: by 10.36.65.195 with HTTP; Tue, 27 Jan 2015 00:40:27 -0800 (PST) X-Originating-IP: [119.245.8.208] In-Reply-To: <54C62B6C.3050608@dancol.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> Date: Tue, 27 Jan 2015 17:40:27 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Daniel Colascione Content-Type: multipart/mixed; boundary=001a1140dc62f70abd050d9e3485 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: Eli Zaretskii , 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --001a1140dc62f70abd050d9e3485 Content-Type: text/plain; charset=ISO-8859-1 On Mon, Jan 26, 2015 at 8:56 PM, Daniel Colascione wrote: > Inheriting an anonymous event feels a bit cleaner to me; you can provide > the HANDLE value in an environment variable or a command line parameter. > Failing that, the event name should at least contain "emacs" somewhere > so as to not confuse people browsing named object directories. It may seem cleaner in that the event doesn't leak into a shared namespace, but it requires significantly more code. Other handles may also get unnecessarily inherited as a result, and it would require yet more code to ensure they don't--it's difficult to ensure that it's doing exactly what you want. The named event method is much, much simpler. See for yourself; I've attached the patch written three ways: a named event (simple), an inherited event passed through the environment (a bit complicated), and an inherited event passed via the command line (pretty heinous). Also, I added multiple daemon support--after another look at the code, I saw no reason to not include it, though there's still one difference between the Windows and UNIX implementations: emacsclient can't provide a name to be used for the daemon when it's starting a new Emacs (but a user could provide one if they used emacs --daemon=foo). -- |v\ /\ |\ |< |_ /\ \^| // --001a1140dc62f70abd050d9e3485 Content-Type: application/octet-stream; name="emacs-windows-daemon-inheritev.patch" Content-Disposition: attachment; filename="emacs-windows-daemon-inheritev.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i5f15mt11 ZGlmZiAtLWdpdCBhL2xpYi1zcmMvZW1hY3NjbGllbnQuYyBiL2xpYi1zcmMvZW1hY3NjbGllbnQu YwppbmRleCBhMDRkZGE2Li5hMWQxYzQ0IDEwMDY0NAotLS0gYS9saWItc3JjL2VtYWNzY2xpZW50 LmMKKysrIGIvbGliLXNyYy9lbWFjc2NsaWVudC5jCkBAIC01OTUsMTMgKzU5NSw2IEBAIGRlY29k ZV9vcHRpb25zIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICBkaXNwbGF5ID0gTlVMTDsK ICAgICAgIHR0eSA9IDE7CiAgICAgfQotCi0gIGlmIChhbHRlcm5hdGVfZWRpdG9yICYmIGFsdGVy bmF0ZV9lZGl0b3JbMF0gPT0gJ1wwJykKLSAgICB7Ci0gICAgICBtZXNzYWdlICh0cnVlLCAiLS1h bHRlcm5hdGUtZWRpdG9yIGFyZ3VtZW50IG9yIEFMVEVSTkFURV9FRElUT1IgdmFyaWFibGUgY2Fu bm90IGJlXG5cCi1hbiBlbXB0eSBzdHJpbmciKTsKLSAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7 Ci0gICAgfQogI2VuZGlmIC8qIFdJTkRPV1NOVCAqLwogfQogCkBAIC02NDIsMTAgKzYzNSw4IEBA IFRoZSBmb2xsb3dpbmcgT1BUSU9OUyBhcmUgYWNjZXB0ZWQ6XG5cCiAJCQlTZXQgZmlsZW5hbWUg b2YgdGhlIFRDUCBhdXRoZW50aWNhdGlvbiBmaWxlXG5cCiAtYSBFRElUT1IsIC0tYWx0ZXJuYXRl LWVkaXRvcj1FRElUT1JcblwKIAkJCUVkaXRvciB0byBmYWxsYmFjayB0byBpZiB0aGUgc2VydmVy IGlzIG5vdCBydW5uaW5nXG4iCi0jaWZuZGVmIFdJTkRPV1NOVAogIgkJCUlmIEVESVRPUiBpcyB0 aGUgZW1wdHkgc3RyaW5nLCBzdGFydCBFbWFjcyBpbiBkYWVtb25cblwKIAkJCW1vZGUgYW5kIHRy eSBjb25uZWN0aW5nIGFnYWluXG4iCi0jZW5kaWYgLyogbm90IFdJTkRPV1NOVCAqLwogIlxuXAog UmVwb3J0IGJ1Z3Mgd2l0aCBNLXggcmVwb3J0LWVtYWNzLWJ1Zy5cbiIpOwogICBleGl0IChFWElU X1NVQ0NFU1MpOwpAQCAtMTQ1OSw5ICsxNDUwLDY2IEBAIHczMl9naXZlX2ZvY3VzICh2b2lkKQog LyogU3RhcnQgdGhlIGVtYWNzIGRhZW1vbiBhbmQgdHJ5IHRvIGNvbm5lY3QgdG8gaXQuICAqLwog CiBzdGF0aWMgdm9pZAorY29ubmVjdF90b19lbWFjc19zb2NrZXQgKHZvaWQpCit7CisjaWZkZWYg V0lORE9XU05UCisgIC8qIEl0J3MganVzdCBhIHByb2dyZXNzIG1lc3NhZ2UsIHNvIGRvbid0IHBv cCBhIGRpYWxvZyBpZiB0aGlzIGlzCisgICAgIGVtYWNzY2xpZW50dy4gICovCisgIGlmICghdzMy X3dpbmRvd19hcHAgKCkpCisjZW5kaWYKKyAgbWVzc2FnZSAodHJ1ZSwgIkVtYWNzIGRhZW1vbiBz aG91bGQgaGF2ZSBzdGFydGVkLCB0cnlpbmcgdG8gY29ubmVjdCBhZ2FpblxuIik7CisgIGlmICgo ZW1hY3Nfc29ja2V0ID0gc2V0X3NvY2tldCAoMSkpID09IElOVkFMSURfU09DS0VUKQorICAgIHsK KyAgICAgIG1lc3NhZ2UgKHRydWUsICJFcnJvcjogQ2Fubm90IGNvbm5lY3QgZXZlbiBhZnRlciBz dGFydGluZyB0aGUgRW1hY3MgZGFlbW9uXG4iKTsKKyAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7 CisgICAgfQorfQorCitzdGF0aWMgdm9pZAogc3RhcnRfZGFlbW9uX2FuZF9yZXRyeV9zZXRfc29j a2V0ICh2b2lkKQogewotI2lmbmRlZiBXSU5ET1dTTlQKKyNpZmRlZiBXSU5ET1dTTlQKKyAgRFdP UkQgd2FpdF9yZXN1bHQ7CisgIEhBTkRMRSB3MzJfZGFlbW9uX2V2ZW50OworICBTVEFSVFVQSU5G TyBzaTsKKyAgUFJPQ0VTU19JTkZPUk1BVElPTiBwaTsKKyAgU0VDVVJJVFlfQVRUUklCVVRFUyBz YTsKKyAgY2hhciBldmJ1ZlszMl07CisKKyAgWmVyb01lbW9yeSAoJnNpLCBzaXplb2Ygc2kpOwor ICBzaS5jYiA9IHNpemVvZiBzaTsKKyAgWmVyb01lbW9yeSAoJnBpLCBzaXplb2YgcGkpOworCisg IHNhLm5MZW5ndGggPSBzaXplb2Ygc2E7CisgIHNhLmxwU2VjdXJpdHlEZXNjcmlwdG9yID0gTlVM TDsKKyAgc2EuYkluaGVyaXRIYW5kbGUgPSBUUlVFOworCisgIHczMl9kYWVtb25fZXZlbnQgPSBD cmVhdGVFdmVudCAoJnNhLCBUUlVFLCBGQUxTRSwgTlVMTCk7CisgIGlmICh3MzJfZGFlbW9uX2V2 ZW50ID09IE5VTEwpCisgICAgeworICAgICAgbWVzc2FnZSAodHJ1ZSwgIkNvdWxkbid0IGNyZWF0 ZSBXaW5kb3dzIGRhZW1vbiBldmVudCIpOworICAgICAgZXhpdCAoRVhJVF9GQUlMVVJFKTsKKyAg ICB9CisKKyAgc25wcmludGYgKGV2YnVmLCBzaXplb2YgZXZidWYsICIlcCIsIHczMl9kYWVtb25f ZXZlbnQpOworICBTZXRFbnZpcm9ubWVudFZhcmlhYmxlICgiRU1BQ1NfVzMyX0RBRU1PTl9FVkVO VCIsIGV2YnVmKTsKKyAgaWYgKCFDcmVhdGVQcm9jZXNzIChOVUxMLCAiZW1hY3MgLS1kYWVtb24i LCBOVUxMLCBOVUxMLCBUUlVFLAorICAgICAgICAgICAgICAgICAgICAgIENSRUFURV9OT19XSU5E T1csIE5VTEwsIE5VTEwsICZzaSwgJnBpKSkKKyAgICB7CisgICAgICBtZXNzYWdlICh0cnVlLCAi JXM6IGVycm9yIHN0YXJ0aW5nIGVtYWNzIGRhZW1vblxuIiwgcHJvZ25hbWUpOworICAgICAgZXhp dCAoRVhJVF9GQUlMVVJFKTsKKyAgICB9CisKKyAgaWYgKFdhaXRGb3JTaW5nbGVPYmplY3QgKHcz Ml9kYWVtb25fZXZlbnQsIElORklOSVRFKSAhPSBXQUlUX09CSkVDVF8wKQorICAgIHsKKyAgICAg IG1lc3NhZ2UgKHRydWUsICJFcnJvciB3aGlsZSB3YWl0aW5nIGZvciBXaW5kb3dzIGRhZW1vbiBl dmVudCIpOworICAgICAgZXhpdCAoRVhJVF9GQUlMVVJFKTsKKyAgICB9CisgIENsb3NlSGFuZGxl ICh3MzJfZGFlbW9uX2V2ZW50KTsKKworICAvKiBUcnkgY29ubmVjdGluZywgdGhlIGRhZW1vbiBz aG91bGQgaGF2ZSBzdGFydGVkIGJ5IG5vdy4gICovCisgIGNvbm5lY3RfdG9fZW1hY3Nfc29ja2V0 ICgpOworI2VsaWYgIWRlZmluZWQoV0lORE9XU05UKQogICBwaWRfdCBkcGlkOwogICBpbnQgc3Rh dHVzOwogCkBAIC0xNDc5LDEyICsxNTI3LDcgQEAgc3RhcnRfZGFlbW9uX2FuZF9yZXRyeV9zZXRf c29ja2V0ICh2b2lkKQogCX0KIAogICAgICAgLyogVHJ5IGNvbm5lY3RpbmcsIHRoZSBkYWVtb24g c2hvdWxkIGhhdmUgc3RhcnRlZCBieSBub3cuICAqLwotICAgICAgbWVzc2FnZSAodHJ1ZSwgIkVt YWNzIGRhZW1vbiBzaG91bGQgaGF2ZSBzdGFydGVkLCB0cnlpbmcgdG8gY29ubmVjdCBhZ2Fpblxu Iik7Ci0gICAgICBpZiAoKGVtYWNzX3NvY2tldCA9IHNldF9zb2NrZXQgKDEpKSA9PSBJTlZBTElE X1NPQ0tFVCkKLQl7Ci0JICBtZXNzYWdlICh0cnVlLCAiRXJyb3I6IENhbm5vdCBjb25uZWN0IGV2 ZW4gYWZ0ZXIgc3RhcnRpbmcgdGhlIEVtYWNzIGRhZW1vblxuIik7Ci0JICBleGl0IChFWElUX0ZB SUxVUkUpOwotCX0KKyAgICAgIGNvbm5lY3RfdG9fZW1hY3Nfc29ja2V0ICgpOwogICAgIH0KICAg ZWxzZSBpZiAoZHBpZCA8IDApCiAgICAgewpAQCAtMTUxMSw3ICsxNTU0LDcgQEAgc3RhcnRfZGFl bW9uX2FuZF9yZXRyeV9zZXRfc29ja2V0ICh2b2lkKQogICAgICAgZXhlY3ZwICgiZW1hY3MiLCBk X2FyZ3YpOwogICAgICAgbWVzc2FnZSAodHJ1ZSwgIiVzOiBlcnJvciBzdGFydGluZyBlbWFjcyBk YWVtb25cbiIsIHByb2duYW1lKTsKICAgICB9Ci0jZW5kaWYgLyogV0lORE9XU05UICovCisjZW5k aWYgLyogIVdJTkRPV1NOVCAqLwogfQogCiBpbnQKZGlmZiAtLWdpdCBhL2xpc3AvZnJhbWUuZWwg Yi9saXNwL2ZyYW1lLmVsCmluZGV4IDFkNWJiZjIuLjIzYmJjMGQgMTAwNjQ0Ci0tLSBhL2xpc3Av ZnJhbWUuZWwKKysrIGIvbGlzcC9mcmFtZS5lbApAQCAtNTM2LDcgKzUzNiw4IEBAIGlzIG5vdCBj b25zaWRlcmVkIChzZWUgYG5leHQtZnJhbWUnKS4iCiBSZXR1cm4gbmlsIGlmIHdlIGRvbid0IGtu b3cgaG93IHRvIGludGVycHJldCBESVNQTEFZLiIKICAgOzsgTVMtV2luZG93cyBkb2Vzbid0IGtu b3cgaG93IHRvIGNyZWF0ZSBhIEdVSSBmcmFtZSBpbiBhIC1udyBzZXNzaW9uLgogICAoaWYgKGFu ZCAoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3MtbnQpCi0JICAgKG51bGwgKHdpbmRvdy1zeXN0ZW0p KSkKKwkgICAobnVsbCAod2luZG93LXN5c3RlbSkpCisJICAgKG5vdCAoZGFlbW9ucCkpKQogICAg ICAgbmlsCiAgICAgKGNsLWxvb3AgZm9yIGRlc2NyaXB0b3IgaW4gZGlzcGxheS1mb3JtYXQtYWxp c3QKIAkgICAgIGZvciBwYXR0ZXJuID0gKGNhciBkZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvbGlz cC9mcmFtZXNldC5lbCBiL2xpc3AvZnJhbWVzZXQuZWwKaW5kZXggNGEwNjM3NC4uMTdmZTM5YiAx MDA2NDQKLS0tIGEvbGlzcC9mcmFtZXNldC5lbAorKysgYi9saXNwL2ZyYW1lc2V0LmVsCkBAIC0x MDIyLDggKzEwMjIsOCBAQCBJbnRlcm5hbCB1c2Ugb25seS4iCiAoZGVmdW4gZnJhbWVzZXQta2Vl cC1vcmlnaW5hbC1kaXNwbGF5LXAgKGZvcmNlLWRpc3BsYXkpCiAgICJUcnVlIGlmIHNhdmVkIGZy YW1lcycgZGlzcGxheXMgc2hvdWxkIGJlIGhvbm9yZWQuCiBGb3IgdGhlIG1lYW5pbmcgb2YgRk9S Q0UtRElTUExBWSwgc2VlIGBmcmFtZXNldC1yZXN0b3JlJy4iCi0gIChjb25kICgoZGFlbW9ucCkg dCkKLQkoKGVxIHN5c3RlbS10eXBlICd3aW5kb3dzLW50KSBuaWwpIDs7IERvZXMgbnMgc3VwcG9y dCBtb3JlIHRoYW4gb25lIGRpc3BsYXk/CisgIChjb25kICgoZXEgc3lzdGVtLXR5cGUgJ3dpbmRv d3MtbnQpIG5pbCkgOzsgRG9lcyBucyBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgZGlzcGxheT8KKwko KGRhZW1vbnApIHQpCiAJKHQgKG5vdCBmb3JjZS1kaXNwbGF5KSkpKQogCiAoZGVmdW4gZnJhbWVz ZXQtbWluaWJ1ZmZlcmxlc3MtZmlyc3QtcCAoZnJhbWUxIF9mcmFtZTIpCmRpZmYgLS1naXQgYS9s aXNwL3NlcnZlci5lbCBiL2xpc3Avc2VydmVyLmVsCmluZGV4IDE2NmNkNDQuLjk1ODViMTcgMTAw NjQ0Ci0tLSBhL2xpc3Avc2VydmVyLmVsCisrKyBiL2xpc3Avc2VydmVyLmVsCkBAIC0xMTM5LDkg KzExMzksMTIgQEAgVGhlIGZvbGxvd2luZyBjb21tYW5kcyBhcmUgYWNjZXB0ZWQgYnkgdGhlIGNs aWVudDoKICAgICAgICAgICAgICAgICAgOzsgZnJhbWUuICBJZiBydW5uaW5nIGEgR1VJIHNlcnZl ciwgZm9yY2UgdGhlIGZyYW1lCiAgICAgICAgICAgICAgICAgIDs7IHR5cGUgdG8gR1VJLiAgKEN5 Z3dpbiBpcyBwZXJmZWN0bHkgaGFwcHkgd2l0aAogICAgICAgICAgICAgICAgICA7OyBtdWx0aS10 dHkgc3VwcG9ydCwgc28gZG9uJ3Qgb3ZlcnJpZGUgdGhlIHVzZXIncwotICAgICAgICAgICAgICAg ICA7OyBjaG9pY2UgdGhlcmUuKQorICAgICAgICAgICAgICAgICA7OyBjaG9pY2UgdGhlcmUuKSAg SW4gZGFlbW9uIG1vZGUgb24gV2luZG93cywgd2UgY2FuJ3QKKyAgICAgICAgICAgICAgICAgOzsg bWFrZSB0dHkgZnJhbWVzLCBzbyBmb3JjZSB0aGUgZnJhbWUgdHlwZSB0byBHVUkKKyAgICAgICAg ICAgICAgICAgOzsgdGhlcmUgdG9vLgogICAgICAgICAgICAgICAgICAod2hlbiAoYW5kIChlcSBz eXN0ZW0tdHlwZSAnd2luZG93cy1udCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEg d2luZG93LXN5c3RlbSAndzMyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKGRh ZW1vbnApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB3aW5kb3ctc3lzdGVt ICd3MzIpKSkKICAgICAgICAgICAgICAgICAgICAocHVzaCAiLXdpbmRvdy1zeXN0ZW0iIGFyZ3Mt bGVmdCkpKQogCiAgICAgICAgICAgICAgICAgOzsgLXBvc2l0aW9uIExJTkVbOkNPTFVNTl06ICBT ZXQgcG9pbnQgdG8gdGhlIGdpdmVuCkBAIC0xMjE1LDcgKzEyMTgsMTAgQEAgVGhlIGZvbGxvd2lu ZyBjb21tYW5kcyBhcmUgYWNjZXB0ZWQgYnkgdGhlIGNsaWVudDoKIAkJCQkJICAgdGVybWluYWwt ZnJhbWUpKSkpKQogCQkgICAgKHNldHEgdHR5LW5hbWUgbmlsIHR0eS10eXBlIG5pbCkKIAkJICAg IChpZiBkaXNwbGF5IChzZXJ2ZXItc2VsZWN0LWRpc3BsYXkgZGlzcGxheSkpKQotCQkgICAoKGVx IHR0eS1uYW1lICd3aW5kb3ctc3lzdGVtKQorCQkgICAoKG9yIChhbmQgKGVxIHN5c3RlbS10eXBl ICd3aW5kb3dzLW50KQorCQkJICAgICAoZGFlbW9ucCkKKwkJCSAgICAgKHNldHEgZGlzcGxheSAi dzMyIikpCisJCSAgICAgICAgKGVxIHR0eS1uYW1lICd3aW5kb3ctc3lzdGVtKSkKIAkJICAgIChz ZXJ2ZXItY3JlYXRlLXdpbmRvdy1zeXN0ZW0tZnJhbWUgZGlzcGxheSBub3dhaXQgcHJvYwogCQkJ CQkJICAgICAgIHBhcmVudC1pZAogCQkJCQkJICAgICAgIGZyYW1lLXBhcmFtZXRlcnMpKQpkaWZm IC0tZ2l0IGEvc3JjL2Rpc3BuZXcuYyBiL3NyYy9kaXNwbmV3LmMKaW5kZXggM2M4MTE3ZS4uZTg2 ZmJiOCAxMDA2NDQKLS0tIGEvc3JjL2Rpc3BuZXcuYworKysgYi9zcmMvZGlzcG5ldy5jCkBAIC01 OTc0LDkgKzU5NzQsMTIgQEAgaW5pdF9kaXNwbGF5ICh2b2lkKQogICAgIH0KICNlbmRpZiAvKiBT SUdXSU5DSCAqLwogCi0gIC8qIElmIHJ1bm5pbmcgYXMgYSBkYWVtb24sIG5vIG5lZWQgdG8gaW5p dGlhbGl6ZSBhbnkgZnJhbWVzL3Rlcm1pbmFsLiAqLworICAvKiBJZiBydW5uaW5nIGFzIGEgZGFl bW9uLCBubyBuZWVkIHRvIGluaXRpYWxpemUgYW55IGZyYW1lcy90ZXJtaW5hbCwKKyAgICAgZXhj ZXB0IG9uIFdpbmRvd3MsIHdoZXJlIHdlIGF0IGxlYXN0IHdhbnQgdG8gaW5pdGlhbGl6ZSBpdC4g ICovCisjaWZuZGVmIFdJTkRPV1NOVAogICBpZiAoSVNfREFFTU9OKQogICAgICAgcmV0dXJuOwor I2VuZGlmCiAKICAgLyogSWYgdGhlIHVzZXIgd2FudHMgdG8gdXNlIGEgd2luZG93IHN5c3RlbSwg d2Ugc2hvdWxkbid0IGJvdGhlcgogICAgICBpbml0aWFsaXppbmcgdGhlIHRlcm1pbmFsLiAgVGhp cyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2VtYWNz LmMgYi9zcmMvZW1hY3MuYwppbmRleCAzNDVmZTNlLi43MjU2MDVmIDEwMDY0NAotLS0gYS9zcmMv ZW1hY3MuYworKysgYi9zcmMvZW1hY3MuYwpAQCAtMTk1LDkgKzE5NSwxMyBAQCBib29sIG5vX3Np dGVfbGlzcDsKIC8qIE5hbWUgZm9yIHRoZSBzZXJ2ZXIgc3RhcnRlZCBieSB0aGUgZGFlbW9uLiov CiBzdGF0aWMgY2hhciAqZGFlbW9uX25hbWU7CiAKKyNpZm5kZWYgV0lORE9XU05UCiAvKiBQaXBl IHVzZWQgdG8gc2VuZCBleGl0IG5vdGlmaWNhdGlvbiB0byB0aGUgZGFlbW9uIHBhcmVudCBhdAog ICAgc3RhcnR1cC4gICovCiBpbnQgZGFlbW9uX3BpcGVbMl07CisjZWxzZQorSEFORExFIHczMl9k YWVtb25fZXZlbnQ7CisjZW5kaWYKIAogLyogU2F2ZSBhcmd2IGFuZCBhcmdjLiAgKi8KIGNoYXIg Kippbml0aWFsX2FyZ3Y7CkBAIC05ODAsOCArOTg0LDEyIEBAIG1haW4gKGludCBhcmdjLCBjaGFy ICoqYXJndikKICAgICAgIGV4aXQgKDApOwogICAgIH0KIAorI2lmbmRlZiBXSU5ET1dTTlQKICAg LyogTWFrZSBzdXJlIElTX0RBRU1PTiBzdGFydHMgdXAgYXMgZmFsc2UuICAqLwogICBkYWVtb25f cGlwZVsxXSA9IDA7CisjZWxzZQorICB3MzJfZGFlbW9uX2V2ZW50ID0gTlVMTDsKKyNlbmRpZgog CiAgIGlmIChhcmdtYXRjaCAoYXJndiwgYXJnYywgIi1kYWVtb24iLCAiLS1kYWVtb24iLCA1LCBO VUxMLCAmc2tpcF9hcmdzKQogICAgICAgfHwgYXJnbWF0Y2ggKGFyZ3YsIGFyZ2MsICItZGFlbW9u IiwgIi0tZGFlbW9uIiwgNSwgJmRuYW1lX2FyZywgJnNraXBfYXJncykpCkBAIC0xMTExLDEwICsx MTE5LDQ0IEBAIFVzaW5nIGFuIEVtYWNzIGNvbmZpZ3VyZWQgd2l0aCAtLXdpdGgteC10b29sa2l0 PWx1Y2lkIGRvZXMgbm90IGhhdmUgdGhpcyBwcm9ibGVtCiAgICAgICBlbWFjc19jbG9zZSAoZGFl bW9uX3BpcGVbMF0pOwogCiAgICAgICBzZXRzaWQgKCk7Ci0jZWxzZSAvKiBET1NfTlQgKi8KKyNl bGlmIGRlZmluZWQoV0lORE9XU05UKQorICAgICAgRFdPUkQgcmV0OworICAgICAgY2hhciBldmJ1 ZlszMl07CisKKyAgICAgIHJldCA9IEdldEVudmlyb25tZW50VmFyaWFibGUgKCJFTUFDU19XMzJf REFFTU9OX0VWRU5UIiwgZXZidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplb2YgZXZidWYpOworICAgICAgaWYgKHJldCA9PSAwKQorICAgICAgICB7CisgICAgICAg ICAgaWYgKEdldExhc3RFcnJvciAoKSA9PSBFUlJPUl9FTlZWQVJfTk9UX0ZPVU5EKQorICAgICAg ICAgICAgeworICAgICAgICAgICAgICAvKiBXZSB3ZXJlbid0IGNhbGxlZCBieSBlbWFjc2NsaWVu dDsgdGhlIHVzZXIgc3RhcnRlZCB0aGUKKyAgICAgICAgICAgICAgICAgZGFlbW9uLiAgKi8KKyAg ICAgICAgICAgICAgdzMyX2RhZW1vbl9ldmVudCA9IENyZWF0ZUV2ZW50IChOVUxMLCBUUlVFLCBG QUxTRSwgTlVMTCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgZWxzZQorICAgICAgICAgICAg eworICAgICAgICAgICAgICBmcHJpbnRmIChzdGRlcnIsICJDb3VsZG4ndCBjb3B5IGhhbmRsZSBh ZGRyZXNzIGZyb20gZW52aXJvbm1lbnRcbiIpOworICAgICAgICAgICAgICBleGl0ICgxKTsKKyAg ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgZWxzZSBpZiAoc3NjYW5mIChldmJ1ZiwgIiVw IiwgJnczMl9kYWVtb25fZXZlbnQpIDwgMSkKKyAgICAgICAgeworICAgICAgICAgIGZwcmludGYg KHN0ZGVyciwgIkNvdWxkbid0IHBhcnNlIGhhbmRsZSBhZGRyZXNzIGZyb20gZW52aXJvbm1lbnRc biIpOworICAgICAgICAgIGV4aXQgKDEpOworICAgICAgICB9CisKKyAgICAgIGlmICh3MzJfZGFl bW9uX2V2ZW50ID09IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICBmcHJpbnRmIChzdGRlcnIs ICJDb3VsZG4ndCBjcmVhdGUgb3IgZ2V0IGV2ZW50IGhhbmRsZSBmb3IgZGFlbW9uXG4iKTsKKyAg ICAgICAgICBleGl0ICgxKTsKKyAgICAgICAgfQorCisgICAgICBpZiAoZG5hbWVfYXJnKQorICAg ICAgICBkYWVtb25fbmFtZSA9IHhzdHJkdXAgKGRuYW1lX2FyZyk7CisjZWxzZSAvKiBNU0RPUyAq LwogICAgICAgZnByaW50ZiAoc3RkZXJyLCAiVGhpcyBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0 IHRoZSAtZGFlbW9uIGZsYWcuXG4iKTsKICAgICAgIGV4aXQgKDEpOwotI2VuZGlmIC8qIERPU19O VCAqLworI2VuZGlmIC8qIE1TRE9TICovCiAgICAgfQogCiAjaWYgZGVmaW5lZCBIQVZFX1BUSFJF QUQgJiYgIWRlZmluZWQgU1lTVEVNX01BTExPQyBcCkBAIC0yMzEwLDIzICsyMzUyLDQwIEBAIElm IHRoZSBkYWVtb24gd2FzIGdpdmVuIGEgbmFtZSBhcmd1bWVudCwgcmV0dXJuIHRoYXQgbmFtZS4g Ki8pCiAgICAgcmV0dXJuIFFuaWw7CiB9CiAKLURFRlVOICgiZGFlbW9uLWluaXRpYWxpemVkIiwg RmRhZW1vbl9pbml0aWFsaXplZCwgU2RhZW1vbl9pbml0aWFsaXplZCwgMCwgMCwgMCwKLSAgICAg ICBkb2M6IC8qIE1hcmsgdGhlIEVtYWNzIGRhZW1vbiBhcyBiZWluZyBpbml0aWFsaXplZC4KLVRo aXMgZmluaXNoZXMgdGhlIGRhZW1vbml6YXRpb24gcHJvY2VzcyBieSBkb2luZyB0aGUgb3RoZXIg aGFsZiBvZiBkZXRhY2hpbmcKLWZyb20gdGhlIHBhcmVudCBwcm9jZXNzIGFuZCBpdHMgdHR5IGZp bGUgZGVzY3JpcHRvcnMuICAqLykKLSAgKHZvaWQpCitzdGF0aWMgdm9pZAorZGFlbW9uX2NoZWNr X3ByZWNvbmRpdGlvbnMgKHZvaWQpCiB7Ci0gIGludCBuZmQ7Ci0gIGJvb2wgZXJyID0gMDsKLQog ICBpZiAoIUlTX0RBRU1PTikKICAgICBlcnJvciAoIlRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgYmUg Y2FsbGVkIGlmIGVtYWNzIGlzIHJ1biBhcyBhIGRhZW1vbiIpOwogCi0gIGlmIChkYWVtb25fcGlw ZVsxXSA8IDApCisjaWZkZWYgV0lORE9XU05UCisgIC8qIElTX0RBRU1PTiBhYm92ZSBhbHJlYWR5 IGNoZWNrcyB0aGF0IHczMl9kYWVtb25fZXZlbnQgIT0gTlVMTCwgc28gb25seQorICAgICBjaGVj ayB0aGF0IHdlIHN1Y2Nlc3NmdWxseSBzdGFydGVkIHRoZSBkYWVtb24gaGVyZS4gICovCisgIGlm ICh3MzJfZGFlbW9uX2V2ZW50ID09IElOVkFMSURfSEFORExFX1ZBTFVFKQorI2Vsc2UKKyAgaWYg KGRhZW1vbl9waXBlWzFdIDwgMCApCisjZW5kaWYKICAgICBlcnJvciAoIlRoZSBkYWVtb24gaGFz IGFscmVhZHkgYmVlbiBpbml0aWFsaXplZCIpOwogCiAgIGlmIChOSUxQIChWYWZ0ZXJfaW5pdF90 aW1lKSkKICAgICBlcnJvciAoIlRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgYmUgY2FsbGVkIGFmdGVy IGxvYWRpbmcgdGhlIGluaXQgZmlsZXMiKTsKK30KKworREVGVU4gKCJkYWVtb24taW5pdGlhbGl6 ZWQiLCBGZGFlbW9uX2luaXRpYWxpemVkLCBTZGFlbW9uX2luaXRpYWxpemVkLCAwLCAwLCAwLAor ICAgICAgIGRvYzogLyogTWFyayB0aGUgRW1hY3MgZGFlbW9uIGFzIGJlaW5nIGluaXRpYWxpemVk LgorVGhpcyBmaW5pc2hlcyB0aGUgZGFlbW9uaXphdGlvbiBwcm9jZXNzIGJ5IGRvaW5nIHRoZSBv dGhlciBoYWxmIG9mIGRldGFjaGluZworZnJvbSB0aGUgcGFyZW50IHByb2Nlc3MgYW5kIGl0cyB0 dHkgZmlsZSBkZXNjcmlwdG9ycy4gICovKQorICAodm9pZCkKK3sKKyAgZGFlbW9uX2NoZWNrX3By ZWNvbmRpdGlvbnMgKCk7CisjaWZkZWYgV0lORE9XU05UCisgIC8qIFNpZ25hbCB0aGUgd2FpdGlu ZyBlbWFjc2NsaWVudCBwcm9jZXNzLiAgKi8KKyAgU2V0RXZlbnQgKHczMl9kYWVtb25fZXZlbnQp OworICBDbG9zZUhhbmRsZSAodzMyX2RhZW1vbl9ldmVudCk7CisgIHczMl9kYWVtb25fZXZlbnQg PSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKKyNlbHNlCisgIGludCBuZmQ7CisgIGJvb2wgZXJyID0g MDsKIAogICAvKiBHZXQgcmlkIG9mIHN0ZGluLCBzdGRvdXQgYW5kIHN0ZGVyci4gICovCiAgIG5m ZCA9IGVtYWNzX29wZW4gKCIvZGV2L251bGwiLCBPX1JEV1IsIDApOwpAQCAtMjM1MCw2ICsyNDA5 LDcgQEAgZnJvbSB0aGUgcGFyZW50IHByb2Nlc3MgYW5kIGl0cyB0dHkgZmlsZSBkZXNjcmlwdG9y cy4gICovKQogCiAgIGlmIChlcnIpCiAgICAgZXJyb3IgKCJJL08gZXJyb3IgZHVyaW5nIGRhZW1v biBpbml0aWFsaXphdGlvbiIpOworI2VuZGlmCiAgIHJldHVybiBRdDsKIH0KIApkaWZmIC0tZ2l0 IGEvc3JjL2tleWJvYXJkLmMgYi9zcmMva2V5Ym9hcmQuYwppbmRleCAzODNjMTA5Li44ZjBlMThm IDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMzgy OSw3ICszODI5LDExIEBAIGtiZF9idWZmZXJfZ2V0X2V2ZW50IChLQk9BUkQgKiprYnAsCiAgIGlm IChub25pbnRlcmFjdGl2ZQogICAgICAgLyogSW4gY2FzZSB3ZSBhcmUgcnVubmluZyBhcyBhIGRh ZW1vbiwgb25seSBkbyB0aGlzIGJlZm9yZQogCSBkZXRhY2hpbmcgZnJvbSB0aGUgdGVybWluYWwu ICAqLworI2lmZGVmIFdJTkRPV1NOVAorICAgICAgfHwgKElTX0RBRU1PTiAmJiB3MzJfZGFlbW9u X2V2ZW50ICE9IElOVkFMSURfSEFORExFX1ZBTFVFKSkKKyNlbHNlCiAgICAgICB8fCAoSVNfREFF TU9OICYmIGRhZW1vbl9waXBlWzFdID49IDApKQorI2VuZGlmCiAgICAgewogICAgICAgaW50IGMg PSBnZXRjaGFyICgpOwogICAgICAgWFNFVElOVCAob2JqLCBjKTsKZGlmZiAtLWdpdCBhL3NyYy9s aXNwLmggYi9zcmMvbGlzcC5oCmluZGV4IGY1MjQyYWIuLjBiODU4MTcgMTAwNjQ0Ci0tLSBhL3Ny Yy9saXNwLmgKKysrIGIvc3JjL2xpc3AuaApAQCAtNDIxNSw5ICs0MjE1LDE0IEBAIGV4dGVybiBi b29sIG5vbmludGVyYWN0aXZlOwogZXh0ZXJuIGJvb2wgbm9fc2l0ZV9saXNwOwogCiAvKiBQaXBl IHVzZWQgdG8gc2VuZCBleGl0IG5vdGlmaWNhdGlvbiB0byB0aGUgZGFlbW9uIHBhcmVudCBhdAot ICAgc3RhcnR1cC4gICovCisgICBzdGFydHVwLiAgT24gV2luZG93cywgd2UgdXNlIGEga2VybmVs IGV2ZW50IGluc3RlYWQuICAqLworI2lmbmRlZiBXSU5ET1dTTlQKIGV4dGVybiBpbnQgZGFlbW9u X3BpcGVbMl07CiAjZGVmaW5lIElTX0RBRU1PTiAoZGFlbW9uX3BpcGVbMV0gIT0gMCkKKyNlbGlm IGRlZmluZWQoV0lORE9XU05UKQorZXh0ZXJuIHZvaWQgKnczMl9kYWVtb25fZXZlbnQ7CisjZGVm aW5lIElTX0RBRU1PTiAodzMyX2RhZW1vbl9ldmVudCAhPSBOVUxMKQorI2VuZGlmCiAKIC8qIFRy dWUgaWYgaGFuZGxpbmcgYSBmYXRhbCBlcnJvciBhbHJlYWR5LiAgKi8KIGV4dGVybiBib29sIGZh dGFsX2Vycm9yX2luX3Byb2dyZXNzOwpkaWZmIC0tZ2l0IGEvc3JjL21pbmlidWYuYyBiL3NyYy9t aW5pYnVmLmMKaW5kZXggMzQwOGJiOS4uZGVlN2NlOCAxMDA2NDQKLS0tIGEvc3JjL21pbmlidWYu YworKysgYi9zcmMvbWluaWJ1Zi5jCkBAIC00NTksNyArNDU5LDExIEBAIHJlYWRfbWluaWJ1ZiAo TGlzcF9PYmplY3QgbWFwLCBMaXNwX09iamVjdCBpbml0aWFsLCBMaXNwX09iamVjdCBwcm9tcHQs CiAgIGlmICgobm9uaW50ZXJhY3RpdmUKICAgICAgICAvKiBJbiBjYXNlIHdlIGFyZSBydW5uaW5n IGFzIGEgZGFlbW9uLCBvbmx5IGRvIHRoaXMgYmVmb3JlCiAJICBkZXRhY2hpbmcgZnJvbSB0aGUg dGVybWluYWwuICAqLworI2lmZGVmIFdJTkRPV1NOVAorICAgICAgIHx8IChJU19EQUVNT04gJiYg dzMyX2RhZW1vbl9ldmVudCAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkpCisjZWxzZQogICAgICAg IHx8IChJU19EQUVNT04gJiYgKGRhZW1vbl9waXBlWzFdID49IDApKSkKKyNlbmRpZgogICAgICAg JiYgTklMUCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pKQogICAgIHsKICAgICAgIHZhbCA9IHJlYWRf bWluaWJ1Zl9ub25pbnRlcmFjdGl2ZSAobWFwLCBpbml0aWFsLCBwcm9tcHQsCg== --001a1140dc62f70abd050d9e3485 Content-Type: application/octet-stream; name="emacs-windows-daemon-inheritev-cmdline.patch" Content-Disposition: attachment; filename="emacs-windows-daemon-inheritev-cmdline.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i5f15mte2 ZGlmZiAtLWdpdCBhL2xpYi1zcmMvZW1hY3NjbGllbnQuYyBiL2xpYi1zcmMvZW1hY3NjbGllbnQu YwppbmRleCBhMDRkZGE2Li5hOWJjZTVhIDEwMDY0NAotLS0gYS9saWItc3JjL2VtYWNzY2xpZW50 LmMKKysrIGIvbGliLXNyYy9lbWFjc2NsaWVudC5jCkBAIC01OTUsMTMgKzU5NSw2IEBAIGRlY29k ZV9vcHRpb25zIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICBkaXNwbGF5ID0gTlVMTDsK ICAgICAgIHR0eSA9IDE7CiAgICAgfQotCi0gIGlmIChhbHRlcm5hdGVfZWRpdG9yICYmIGFsdGVy bmF0ZV9lZGl0b3JbMF0gPT0gJ1wwJykKLSAgICB7Ci0gICAgICBtZXNzYWdlICh0cnVlLCAiLS1h bHRlcm5hdGUtZWRpdG9yIGFyZ3VtZW50IG9yIEFMVEVSTkFURV9FRElUT1IgdmFyaWFibGUgY2Fu bm90IGJlXG5cCi1hbiBlbXB0eSBzdHJpbmciKTsKLSAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7 Ci0gICAgfQogI2VuZGlmIC8qIFdJTkRPV1NOVCAqLwogfQogCkBAIC02NDIsMTAgKzYzNSw4IEBA IFRoZSBmb2xsb3dpbmcgT1BUSU9OUyBhcmUgYWNjZXB0ZWQ6XG5cCiAJCQlTZXQgZmlsZW5hbWUg b2YgdGhlIFRDUCBhdXRoZW50aWNhdGlvbiBmaWxlXG5cCiAtYSBFRElUT1IsIC0tYWx0ZXJuYXRl LWVkaXRvcj1FRElUT1JcblwKIAkJCUVkaXRvciB0byBmYWxsYmFjayB0byBpZiB0aGUgc2VydmVy IGlzIG5vdCBydW5uaW5nXG4iCi0jaWZuZGVmIFdJTkRPV1NOVAogIgkJCUlmIEVESVRPUiBpcyB0 aGUgZW1wdHkgc3RyaW5nLCBzdGFydCBFbWFjcyBpbiBkYWVtb25cblwKIAkJCW1vZGUgYW5kIHRy eSBjb25uZWN0aW5nIGFnYWluXG4iCi0jZW5kaWYgLyogbm90IFdJTkRPV1NOVCAqLwogIlxuXAog UmVwb3J0IGJ1Z3Mgd2l0aCBNLXggcmVwb3J0LWVtYWNzLWJ1Zy5cbiIpOwogICBleGl0IChFWElU X1NVQ0NFU1MpOwpAQCAtMTQ1OSw5ICsxNDUwLDY1IEBAIHczMl9naXZlX2ZvY3VzICh2b2lkKQog LyogU3RhcnQgdGhlIGVtYWNzIGRhZW1vbiBhbmQgdHJ5IHRvIGNvbm5lY3QgdG8gaXQuICAqLwog CiBzdGF0aWMgdm9pZAorY29ubmVjdF90b19lbWFjc19zb2NrZXQgKHZvaWQpCit7CisjaWZkZWYg V0lORE9XU05UCisgIC8qIEl0J3MganVzdCBhIHByb2dyZXNzIG1lc3NhZ2UsIHNvIGRvbid0IHBv cCBhIGRpYWxvZyBpZiB0aGlzIGlzCisgICAgIGVtYWNzY2xpZW50dy4gICovCisgIGlmICghdzMy X3dpbmRvd19hcHAgKCkpCisjZW5kaWYKKyAgbWVzc2FnZSAodHJ1ZSwgIkVtYWNzIGRhZW1vbiBz aG91bGQgaGF2ZSBzdGFydGVkLCB0cnlpbmcgdG8gY29ubmVjdCBhZ2FpblxuIik7CisgIGlmICgo ZW1hY3Nfc29ja2V0ID0gc2V0X3NvY2tldCAoMSkpID09IElOVkFMSURfU09DS0VUKQorICAgIHsK KyAgICAgIG1lc3NhZ2UgKHRydWUsICJFcnJvcjogQ2Fubm90IGNvbm5lY3QgZXZlbiBhZnRlciBz dGFydGluZyB0aGUgRW1hY3MgZGFlbW9uXG4iKTsKKyAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7 CisgICAgfQorfQorCitzdGF0aWMgdm9pZAogc3RhcnRfZGFlbW9uX2FuZF9yZXRyeV9zZXRfc29j a2V0ICh2b2lkKQogewotI2lmbmRlZiBXSU5ET1dTTlQKKyNpZmRlZiBXSU5ET1dTTlQKKyAgRFdP UkQgd2FpdF9yZXN1bHQ7CisgIEhBTkRMRSB3MzJfZGFlbW9uX2V2ZW50OworICBTVEFSVFVQSU5G TyBzaTsKKyAgUFJPQ0VTU19JTkZPUk1BVElPTiBwaTsKKyAgU0VDVVJJVFlfQVRUUklCVVRFUyBz YTsKKyAgY2hhciBleGVjc3RyWzY0XTsKKworICBaZXJvTWVtb3J5ICgmc2ksIHNpemVvZiBzaSk7 CisgIHNpLmNiID0gc2l6ZW9mIHNpOworICBaZXJvTWVtb3J5ICgmcGksIHNpemVvZiBwaSk7CisK KyAgc2Eubkxlbmd0aCA9IHNpemVvZiBzYTsKKyAgc2EubHBTZWN1cml0eURlc2NyaXB0b3IgPSBO VUxMOworICBzYS5iSW5oZXJpdEhhbmRsZSA9IFRSVUU7CisKKyAgdzMyX2RhZW1vbl9ldmVudCA9 IENyZWF0ZUV2ZW50ICgmc2EsIFRSVUUsIEZBTFNFLCBOVUxMKTsKKyAgaWYgKHczMl9kYWVtb25f ZXZlbnQgPT0gTlVMTCkKKyAgICB7CisgICAgICBtZXNzYWdlICh0cnVlLCAiQ291bGRuJ3QgY3Jl YXRlIFdpbmRvd3MgZGFlbW9uIGV2ZW50Iik7CisgICAgICBleGl0IChFWElUX0ZBSUxVUkUpOwor ICAgIH0KKworICBzbnByaW50ZiAoZXhlY3N0ciwgc2l6ZW9mIGV4ZWNzdHIsICJlbWFjcyAtLWRh ZW1vbj0qJXAiLCB3MzJfZGFlbW9uX2V2ZW50KTsKKyAgaWYgKCFDcmVhdGVQcm9jZXNzIChOVUxM LCBleGVjc3RyLCBOVUxMLCBOVUxMLCBUUlVFLCBDUkVBVEVfTk9fV0lORE9XLCBOVUxMLAorICAg ICAgICAgICAgICAgICAgICAgIE5VTEwsICZzaSwgJnBpKSkKKyAgICB7CisgICAgICBtZXNzYWdl ICh0cnVlLCAiJXM6IGVycm9yIHN0YXJ0aW5nIGVtYWNzIGRhZW1vblxuIiwgcHJvZ25hbWUpOwor ICAgICAgZXhpdCAoRVhJVF9GQUlMVVJFKTsKKyAgICB9CisKKyAgaWYgKFdhaXRGb3JTaW5nbGVP YmplY3QgKHczMl9kYWVtb25fZXZlbnQsIElORklOSVRFKSAhPSBXQUlUX09CSkVDVF8wKQorICAg IHsKKyAgICAgIG1lc3NhZ2UgKHRydWUsICJFcnJvciB3aGlsZSB3YWl0aW5nIGZvciBXaW5kb3dz IGRhZW1vbiBldmVudCIpOworICAgICAgZXhpdCAoRVhJVF9GQUlMVVJFKTsKKyAgICB9CisgIENs b3NlSGFuZGxlICh3MzJfZGFlbW9uX2V2ZW50KTsKKworICAvKiBUcnkgY29ubmVjdGluZywgdGhl IGRhZW1vbiBzaG91bGQgaGF2ZSBzdGFydGVkIGJ5IG5vdy4gICovCisgIGNvbm5lY3RfdG9fZW1h Y3Nfc29ja2V0ICgpOworI2VsaWYgIWRlZmluZWQoV0lORE9XU05UKQogICBwaWRfdCBkcGlkOwog ICBpbnQgc3RhdHVzOwogCkBAIC0xNDc5LDEyICsxNTI2LDcgQEAgc3RhcnRfZGFlbW9uX2FuZF9y ZXRyeV9zZXRfc29ja2V0ICh2b2lkKQogCX0KIAogICAgICAgLyogVHJ5IGNvbm5lY3RpbmcsIHRo ZSBkYWVtb24gc2hvdWxkIGhhdmUgc3RhcnRlZCBieSBub3cuICAqLwotICAgICAgbWVzc2FnZSAo dHJ1ZSwgIkVtYWNzIGRhZW1vbiBzaG91bGQgaGF2ZSBzdGFydGVkLCB0cnlpbmcgdG8gY29ubmVj dCBhZ2FpblxuIik7Ci0gICAgICBpZiAoKGVtYWNzX3NvY2tldCA9IHNldF9zb2NrZXQgKDEpKSA9 PSBJTlZBTElEX1NPQ0tFVCkKLQl7Ci0JICBtZXNzYWdlICh0cnVlLCAiRXJyb3I6IENhbm5vdCBj b25uZWN0IGV2ZW4gYWZ0ZXIgc3RhcnRpbmcgdGhlIEVtYWNzIGRhZW1vblxuIik7Ci0JICBleGl0 IChFWElUX0ZBSUxVUkUpOwotCX0KKyAgICAgIGNvbm5lY3RfdG9fZW1hY3Nfc29ja2V0ICgpOwog ICAgIH0KICAgZWxzZSBpZiAoZHBpZCA8IDApCiAgICAgewpAQCAtMTUxMSw3ICsxNTUzLDcgQEAg c3RhcnRfZGFlbW9uX2FuZF9yZXRyeV9zZXRfc29ja2V0ICh2b2lkKQogICAgICAgZXhlY3ZwICgi ZW1hY3MiLCBkX2FyZ3YpOwogICAgICAgbWVzc2FnZSAodHJ1ZSwgIiVzOiBlcnJvciBzdGFydGlu ZyBlbWFjcyBkYWVtb25cbiIsIHByb2duYW1lKTsKICAgICB9Ci0jZW5kaWYgLyogV0lORE9XU05U ICovCisjZW5kaWYgLyogIVdJTkRPV1NOVCAqLwogfQogCiBpbnQKZGlmZiAtLWdpdCBhL2xpc3Av ZnJhbWUuZWwgYi9saXNwL2ZyYW1lLmVsCmluZGV4IDFkNWJiZjIuLjIzYmJjMGQgMTAwNjQ0Ci0t LSBhL2xpc3AvZnJhbWUuZWwKKysrIGIvbGlzcC9mcmFtZS5lbApAQCAtNTM2LDcgKzUzNiw4IEBA IGlzIG5vdCBjb25zaWRlcmVkIChzZWUgYG5leHQtZnJhbWUnKS4iCiBSZXR1cm4gbmlsIGlmIHdl IGRvbid0IGtub3cgaG93IHRvIGludGVycHJldCBESVNQTEFZLiIKICAgOzsgTVMtV2luZG93cyBk b2Vzbid0IGtub3cgaG93IHRvIGNyZWF0ZSBhIEdVSSBmcmFtZSBpbiBhIC1udyBzZXNzaW9uLgog ICAoaWYgKGFuZCAoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3MtbnQpCi0JICAgKG51bGwgKHdpbmRv dy1zeXN0ZW0pKSkKKwkgICAobnVsbCAod2luZG93LXN5c3RlbSkpCisJICAgKG5vdCAoZGFlbW9u cCkpKQogICAgICAgbmlsCiAgICAgKGNsLWxvb3AgZm9yIGRlc2NyaXB0b3IgaW4gZGlzcGxheS1m b3JtYXQtYWxpc3QKIAkgICAgIGZvciBwYXR0ZXJuID0gKGNhciBkZXNjcmlwdG9yKQpkaWZmIC0t Z2l0IGEvbGlzcC9mcmFtZXNldC5lbCBiL2xpc3AvZnJhbWVzZXQuZWwKaW5kZXggNGEwNjM3NC4u MTdmZTM5YiAxMDA2NDQKLS0tIGEvbGlzcC9mcmFtZXNldC5lbAorKysgYi9saXNwL2ZyYW1lc2V0 LmVsCkBAIC0xMDIyLDggKzEwMjIsOCBAQCBJbnRlcm5hbCB1c2Ugb25seS4iCiAoZGVmdW4gZnJh bWVzZXQta2VlcC1vcmlnaW5hbC1kaXNwbGF5LXAgKGZvcmNlLWRpc3BsYXkpCiAgICJUcnVlIGlm IHNhdmVkIGZyYW1lcycgZGlzcGxheXMgc2hvdWxkIGJlIGhvbm9yZWQuCiBGb3IgdGhlIG1lYW5p bmcgb2YgRk9SQ0UtRElTUExBWSwgc2VlIGBmcmFtZXNldC1yZXN0b3JlJy4iCi0gIChjb25kICgo ZGFlbW9ucCkgdCkKLQkoKGVxIHN5c3RlbS10eXBlICd3aW5kb3dzLW50KSBuaWwpIDs7IERvZXMg bnMgc3VwcG9ydCBtb3JlIHRoYW4gb25lIGRpc3BsYXk/CisgIChjb25kICgoZXEgc3lzdGVtLXR5 cGUgJ3dpbmRvd3MtbnQpIG5pbCkgOzsgRG9lcyBucyBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgZGlz cGxheT8KKwkoKGRhZW1vbnApIHQpCiAJKHQgKG5vdCBmb3JjZS1kaXNwbGF5KSkpKQogCiAoZGVm dW4gZnJhbWVzZXQtbWluaWJ1ZmZlcmxlc3MtZmlyc3QtcCAoZnJhbWUxIF9mcmFtZTIpCmRpZmYg LS1naXQgYS9saXNwL3NlcnZlci5lbCBiL2xpc3Avc2VydmVyLmVsCmluZGV4IDE2NmNkNDQuLjk1 ODViMTcgMTAwNjQ0Ci0tLSBhL2xpc3Avc2VydmVyLmVsCisrKyBiL2xpc3Avc2VydmVyLmVsCkBA IC0xMTM5LDkgKzExMzksMTIgQEAgVGhlIGZvbGxvd2luZyBjb21tYW5kcyBhcmUgYWNjZXB0ZWQg YnkgdGhlIGNsaWVudDoKICAgICAgICAgICAgICAgICAgOzsgZnJhbWUuICBJZiBydW5uaW5nIGEg R1VJIHNlcnZlciwgZm9yY2UgdGhlIGZyYW1lCiAgICAgICAgICAgICAgICAgIDs7IHR5cGUgdG8g R1VJLiAgKEN5Z3dpbiBpcyBwZXJmZWN0bHkgaGFwcHkgd2l0aAogICAgICAgICAgICAgICAgICA7 OyBtdWx0aS10dHkgc3VwcG9ydCwgc28gZG9uJ3Qgb3ZlcnJpZGUgdGhlIHVzZXIncwotICAgICAg ICAgICAgICAgICA7OyBjaG9pY2UgdGhlcmUuKQorICAgICAgICAgICAgICAgICA7OyBjaG9pY2Ug dGhlcmUuKSAgSW4gZGFlbW9uIG1vZGUgb24gV2luZG93cywgd2UgY2FuJ3QKKyAgICAgICAgICAg ICAgICAgOzsgbWFrZSB0dHkgZnJhbWVzLCBzbyBmb3JjZSB0aGUgZnJhbWUgdHlwZSB0byBHVUkK KyAgICAgICAgICAgICAgICAgOzsgdGhlcmUgdG9vLgogICAgICAgICAgICAgICAgICAod2hlbiAo YW5kIChlcSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZXEgd2luZG93LXN5c3RlbSAndzMyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAob3IgKGRhZW1vbnApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB3aW5k b3ctc3lzdGVtICd3MzIpKSkKICAgICAgICAgICAgICAgICAgICAocHVzaCAiLXdpbmRvdy1zeXN0 ZW0iIGFyZ3MtbGVmdCkpKQogCiAgICAgICAgICAgICAgICAgOzsgLXBvc2l0aW9uIExJTkVbOkNP TFVNTl06ICBTZXQgcG9pbnQgdG8gdGhlIGdpdmVuCkBAIC0xMjE1LDcgKzEyMTgsMTAgQEAgVGhl IGZvbGxvd2luZyBjb21tYW5kcyBhcmUgYWNjZXB0ZWQgYnkgdGhlIGNsaWVudDoKIAkJCQkJICAg dGVybWluYWwtZnJhbWUpKSkpKQogCQkgICAgKHNldHEgdHR5LW5hbWUgbmlsIHR0eS10eXBlIG5p bCkKIAkJICAgIChpZiBkaXNwbGF5IChzZXJ2ZXItc2VsZWN0LWRpc3BsYXkgZGlzcGxheSkpKQot CQkgICAoKGVxIHR0eS1uYW1lICd3aW5kb3ctc3lzdGVtKQorCQkgICAoKG9yIChhbmQgKGVxIHN5 c3RlbS10eXBlICd3aW5kb3dzLW50KQorCQkJICAgICAoZGFlbW9ucCkKKwkJCSAgICAgKHNldHEg ZGlzcGxheSAidzMyIikpCisJCSAgICAgICAgKGVxIHR0eS1uYW1lICd3aW5kb3ctc3lzdGVtKSkK IAkJICAgIChzZXJ2ZXItY3JlYXRlLXdpbmRvdy1zeXN0ZW0tZnJhbWUgZGlzcGxheSBub3dhaXQg cHJvYwogCQkJCQkJICAgICAgIHBhcmVudC1pZAogCQkJCQkJICAgICAgIGZyYW1lLXBhcmFtZXRl cnMpKQpkaWZmIC0tZ2l0IGEvc3JjL2Rpc3BuZXcuYyBiL3NyYy9kaXNwbmV3LmMKaW5kZXggM2M4 MTE3ZS4uZTg2ZmJiOCAxMDA2NDQKLS0tIGEvc3JjL2Rpc3BuZXcuYworKysgYi9zcmMvZGlzcG5l dy5jCkBAIC01OTc0LDkgKzU5NzQsMTIgQEAgaW5pdF9kaXNwbGF5ICh2b2lkKQogICAgIH0KICNl bmRpZiAvKiBTSUdXSU5DSCAqLwogCi0gIC8qIElmIHJ1bm5pbmcgYXMgYSBkYWVtb24sIG5vIG5l ZWQgdG8gaW5pdGlhbGl6ZSBhbnkgZnJhbWVzL3Rlcm1pbmFsLiAqLworICAvKiBJZiBydW5uaW5n IGFzIGEgZGFlbW9uLCBubyBuZWVkIHRvIGluaXRpYWxpemUgYW55IGZyYW1lcy90ZXJtaW5hbCwK KyAgICAgZXhjZXB0IG9uIFdpbmRvd3MsIHdoZXJlIHdlIGF0IGxlYXN0IHdhbnQgdG8gaW5pdGlh bGl6ZSBpdC4gICovCisjaWZuZGVmIFdJTkRPV1NOVAogICBpZiAoSVNfREFFTU9OKQogICAgICAg cmV0dXJuOworI2VuZGlmCiAKICAgLyogSWYgdGhlIHVzZXIgd2FudHMgdG8gdXNlIGEgd2luZG93 IHN5c3RlbSwgd2Ugc2hvdWxkbid0IGJvdGhlcgogICAgICBpbml0aWFsaXppbmcgdGhlIHRlcm1p bmFsLiAgVGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHRoZQpkaWZmIC0tZ2l0IGEv c3JjL2VtYWNzLmMgYi9zcmMvZW1hY3MuYwppbmRleCAzNDVmZTNlLi5kNTQ2NDNlIDEwMDY0NAot LS0gYS9zcmMvZW1hY3MuYworKysgYi9zcmMvZW1hY3MuYwpAQCAtMTk1LDkgKzE5NSwxMyBAQCBi b29sIG5vX3NpdGVfbGlzcDsKIC8qIE5hbWUgZm9yIHRoZSBzZXJ2ZXIgc3RhcnRlZCBieSB0aGUg ZGFlbW9uLiovCiBzdGF0aWMgY2hhciAqZGFlbW9uX25hbWU7CiAKKyNpZm5kZWYgV0lORE9XU05U CiAvKiBQaXBlIHVzZWQgdG8gc2VuZCBleGl0IG5vdGlmaWNhdGlvbiB0byB0aGUgZGFlbW9uIHBh cmVudCBhdAogICAgc3RhcnR1cC4gICovCiBpbnQgZGFlbW9uX3BpcGVbMl07CisjZWxzZQorSEFO RExFIHczMl9kYWVtb25fZXZlbnQ7CisjZW5kaWYKIAogLyogU2F2ZSBhcmd2IGFuZCBhcmdjLiAg Ki8KIGNoYXIgKippbml0aWFsX2FyZ3Y7CkBAIC02ODcsNiArNjkxLDQzIEBAIGNsb3NlX291dHB1 dF9zdHJlYW1zICh2b2lkKQogICAgICBfZXhpdCAoRVhJVF9GQUlMVVJFKTsKIH0KIAorc3RhdGlj IHZvaWQKK2hhbmRsZV9kbmFtZV9hcmcgKGNoYXIgKipkbmFtZV9hcmcsIGNoYXIgKmRuYW1lX2Fy ZzIsIGludCBzZXApCit7CisgIGludCBoYXNfZG5hbWUgPSAqZG5hbWVfYXJnICE9IE5VTEw7Cisg IC8qIFdlcmUgd2UgY2FsbGVkIGJ5IGVtYWNzY2xpZW50IG9yIGRpZCB0aGUgdXNlciBzdGFydCB0 aGUgZGFlbW9uPyAgKi8KKyNpZmRlZiBXSU5ET1dTTlQKKyAgaW50IHVzZXJfc3RhcnRlZF9kYWVt b24gPSBoYXNfZG5hbWUgJiYgIXN0cmNociAoKmRuYW1lX2FyZywgc2VwKTsKKyAgaWYgKCFoYXNf ZG5hbWUgfHwgdXNlcl9zdGFydGVkX2RhZW1vbikKKyAgICB7CisgICAgICB3MzJfZGFlbW9uX2V2 ZW50ID0gQ3JlYXRlRXZlbnQgKE5VTEwsIFRSVUUsIEZBTFNFLCBOVUxMKTsKKyAgICAgIGlmICh1 c2VyX3N0YXJ0ZWRfZGFlbW9uKQorICAgICAgICAvKiBXZSBhbHJlYWR5IGhhdmUgYSBuYW1lIGlu IGRuYW1lX2FyZyBvciBub25lIHdhcyBnaXZlbi4gICovCisgICAgICAgIHJldHVybjsKKyAgICAg IGVsc2UKKyAgICAgICAgZ290byBwcm9jZXNzX2RuYW1lOworICAgIH0KKyNlbmRpZgorICBpZiAo IWhhc19kbmFtZSB8fCAhc3RyY2hyICgqZG5hbWVfYXJnLCBzZXApCisgICAgICB8fCBzdHJsZW4g KCpkbmFtZV9hcmcpIDwgMSB8fCBzdHJsZW4gKCpkbmFtZV9hcmcpID4gNzApCisgICAgeworICAg ICAgZnByaW50ZiAoc3RkZXJyLCAiZW1hY3MgZGFlbW9uOiBkYWVtb24gbmFtZSBhYnNlbnQgb3Ig dG9vIGxvbmdcbiIpOworICAgICAgZXhpdCAoRVhJVF9DQU5OT1RfSU5WT0tFKTsKKyAgICB9CisK K3Byb2Nlc3NfZG5hbWU6CisgIGRuYW1lX2FyZzJbMF0gPSAnXDAnOworI2lmZGVmIERBRU1PTl9N VVNUX0VYRUMKKyAgc3NjYW5mICgqZG5hbWVfYXJnLCAiXG4lZCwlZFxuJXMiLCAmKGRhZW1vbl9w aXBlWzBdKSwgJihkYWVtb25fcGlwZVsxXSksCisgICAgICAgICAgZG5hbWVfYXJnMik7CisjZWxp ZiBkZWZpbmVkKFdJTkRPV1NOVCkKKyAgc3NjYW5mICgqZG5hbWVfYXJnLCAiKiVwIiwgJnczMl9k YWVtb25fZXZlbnQpOworI2VuZGlmCisgIC8qIE9uIFdpbmRvd3MsIGVtYWNzY2xpZW50IHdpbGwg bmV2ZXIgcGFzcyBhIGRhZW1vbiBuYW1lLCBzbyB0aGlzIHdpbGwgYWx3YXlzCisgICAgIGJlIE5V TEwuICAqLworICAqZG5hbWVfYXJnID0gKmRuYW1lX2FyZzIgPyBkbmFtZV9hcmcyIDogTlVMTDsK K30KKwogLyogQVJHU1VTRUQgKi8KIGludAogbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQpA QCAtNzA0LDkgKzc0NSw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgYm9vbCBu b19sb2FkdXAgPSAwOwogICBjaGFyICpqdW5rID0gMDsKICAgY2hhciAqZG5hbWVfYXJnID0gMDsK LSNpZmRlZiBEQUVNT05fTVVTVF9FWEVDCiAgIGNoYXIgZG5hbWVfYXJnMls4MF07Ci0jZW5kaWYK ICAgY2hhciAqY2hfdG9fZGlyID0gMDsKIAogICAvKiBJZiB3ZSB1c2UgLS1jaGRpciwgdGhpcyBy ZWNvcmRzIHRoZSBvcmlnaW5hbCBkaXJlY3RvcnkuICAqLwpAQCAtOTgwLDggKzEwMTksMTIgQEAg bWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgZXhpdCAoMCk7CiAgICAgfQogCisj aWZuZGVmIFdJTkRPV1NOVAogICAvKiBNYWtlIHN1cmUgSVNfREFFTU9OIHN0YXJ0cyB1cCBhcyBm YWxzZS4gICovCiAgIGRhZW1vbl9waXBlWzFdID0gMDsKKyNlbHNlCisgIHczMl9kYWVtb25fZXZl bnQgPSBOVUxMOworI2VuZGlmCiAKICAgaWYgKGFyZ21hdGNoIChhcmd2LCBhcmdjLCAiLWRhZW1v biIsICItLWRhZW1vbiIsIDUsIE5VTEwsICZza2lwX2FyZ3MpCiAgICAgICB8fCBhcmdtYXRjaCAo YXJndiwgYXJnYywgIi1kYWVtb24iLCAiLS1kYWVtb24iLCA1LCAmZG5hbWVfYXJnLCAmc2tpcF9h cmdzKSkKQEAgLTEwOTAsMTcgKzExMzMsNyBAQCBVc2luZyBhbiBFbWFjcyBjb25maWd1cmVkIHdp dGggLS13aXRoLXgtdG9vbGtpdD1sdWNpZCBkb2VzIG5vdCBoYXZlIHRoaXMgcHJvYmxlbQogCSAg ICBleGl0IChlcnJubyA9PSBFTk9FTlQgPyBFWElUX0VOT0VOVCA6IEVYSVRfQ0FOTk9UX0lOVk9L RSk7CiAgICAgICAgICAgfQogCi0gICAgICAgIC8qIEluIGV4ZWMnZDogcGFyc2Ugc3BlY2lhbCBk bmFtZSBpbnRvIHBpcGUgYW5kIG5hbWUgaW5mby4gKi8KLSAgICAgICAgaWYgKCFkbmFtZV9hcmcg fHwgIXN0cmNociAoZG5hbWVfYXJnLCAnXG4nKQotICAgICAgICAgICAgfHwgc3RybGVuIChkbmFt ZV9hcmcpIDwgMSB8fCBzdHJsZW4gKGRuYW1lX2FyZykgPiA3MCkKLSAgICAgICAgICB7Ci0gICAg ICAgICAgICBmcHJpbnRmIChzdGRlcnIsICJlbWFjcyBkYWVtb246IGRhZW1vbiBuYW1lIGFic2Vu dCBvciB0b28gbG9uZ1xuIik7Ci0gICAgICAgICAgICBleGl0IChFWElUX0NBTk5PVF9JTlZPS0Up OwotICAgICAgICAgIH0KLSAgICAgICAgZG5hbWVfYXJnMlswXSA9ICdcMCc7Ci0gICAgICAgIHNz Y2FuZiAoZG5hbWVfYXJnLCAiXG4lZCwlZFxuJXMiLCAmKGRhZW1vbl9waXBlWzBdKSwgJihkYWVt b25fcGlwZVsxXSksCi0gICAgICAgICAgICAgICAgZG5hbWVfYXJnMik7Ci0gICAgICAgIGRuYW1l X2FyZyA9ICpkbmFtZV9hcmcyID8gZG5hbWVfYXJnMiA6IE5VTEw7CisgICAgICAgIGhhbmRsZV9k bmFtZV9hcmcgKCZkbmFtZV9hcmcsIGRuYW1lX2FyZzIsICdcbicpOwogCWZjbnRsIChkYWVtb25f cGlwZVsxXSwgRl9TRVRGRCwgRkRfQ0xPRVhFQyk7CiAgICAgICB9CiAjZW5kaWYgLyogREFFTU9O X01VU1RfRVhFQyAqLwpAQCAtMTExMSwxMCArMTE0NCwyMSBAQCBVc2luZyBhbiBFbWFjcyBjb25m aWd1cmVkIHdpdGggLS13aXRoLXgtdG9vbGtpdD1sdWNpZCBkb2VzIG5vdCBoYXZlIHRoaXMgcHJv YmxlbQogICAgICAgZW1hY3NfY2xvc2UgKGRhZW1vbl9waXBlWzBdKTsKIAogICAgICAgc2V0c2lk ICgpOwotI2Vsc2UgLyogRE9TX05UICovCisjZWxpZiBkZWZpbmVkKFdJTkRPV1NOVCkKKyAgICAg IGhhbmRsZV9kbmFtZV9hcmcgKCZkbmFtZV9hcmcsIGRuYW1lX2FyZzIsICcqJyk7CisKKyAgICAg IGlmICh3MzJfZGFlbW9uX2V2ZW50ID09IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICBmcHJp bnRmIChzdGRlcnIsICJDb3VsZG4ndCBjcmVhdGUgb3IgZ2V0IGV2ZW50IGhhbmRsZSBmb3IgZGFl bW9uXG4iKTsKKyAgICAgICAgICBleGl0ICgxKTsKKyAgICAgICAgfQorCisgICAgICBpZiAoZG5h bWVfYXJnKQorICAgICAgICBkYWVtb25fbmFtZSA9IHhzdHJkdXAgKGRuYW1lX2FyZyk7CisjZWxz ZSAvKiBNU0RPUyAqLwogICAgICAgZnByaW50ZiAoc3RkZXJyLCAiVGhpcyBwbGF0Zm9ybSBkb2Vz IG5vdCBzdXBwb3J0IHRoZSAtZGFlbW9uIGZsYWcuXG4iKTsKICAgICAgIGV4aXQgKDEpOwotI2Vu ZGlmIC8qIERPU19OVCAqLworI2VuZGlmIC8qIE1TRE9TICovCiAgICAgfQogCiAjaWYgZGVmaW5l ZCBIQVZFX1BUSFJFQUQgJiYgIWRlZmluZWQgU1lTVEVNX01BTExPQyBcCkBAIC0yMzEwLDIzICsy MzU0LDQwIEBAIElmIHRoZSBkYWVtb24gd2FzIGdpdmVuIGEgbmFtZSBhcmd1bWVudCwgcmV0dXJu IHRoYXQgbmFtZS4gKi8pCiAgICAgcmV0dXJuIFFuaWw7CiB9CiAKLURFRlVOICgiZGFlbW9uLWlu aXRpYWxpemVkIiwgRmRhZW1vbl9pbml0aWFsaXplZCwgU2RhZW1vbl9pbml0aWFsaXplZCwgMCwg MCwgMCwKLSAgICAgICBkb2M6IC8qIE1hcmsgdGhlIEVtYWNzIGRhZW1vbiBhcyBiZWluZyBpbml0 aWFsaXplZC4KLVRoaXMgZmluaXNoZXMgdGhlIGRhZW1vbml6YXRpb24gcHJvY2VzcyBieSBkb2lu ZyB0aGUgb3RoZXIgaGFsZiBvZiBkZXRhY2hpbmcKLWZyb20gdGhlIHBhcmVudCBwcm9jZXNzIGFu ZCBpdHMgdHR5IGZpbGUgZGVzY3JpcHRvcnMuICAqLykKLSAgKHZvaWQpCitzdGF0aWMgdm9pZAor ZGFlbW9uX2NoZWNrX3ByZWNvbmRpdGlvbnMgKHZvaWQpCiB7Ci0gIGludCBuZmQ7Ci0gIGJvb2wg ZXJyID0gMDsKLQogICBpZiAoIUlTX0RBRU1PTikKICAgICBlcnJvciAoIlRoaXMgZnVuY3Rpb24g Y2FuIG9ubHkgYmUgY2FsbGVkIGlmIGVtYWNzIGlzIHJ1biBhcyBhIGRhZW1vbiIpOwogCi0gIGlm IChkYWVtb25fcGlwZVsxXSA8IDApCisjaWZkZWYgV0lORE9XU05UCisgIC8qIElTX0RBRU1PTiBh Ym92ZSBhbHJlYWR5IGNoZWNrcyB0aGF0IHczMl9kYWVtb25fZXZlbnQgIT0gTlVMTCwgc28gb25s eQorICAgICBjaGVjayB0aGF0IHdlIHN1Y2Nlc3NmdWxseSBzdGFydGVkIHRoZSBkYWVtb24gaGVy ZS4gICovCisgIGlmICh3MzJfZGFlbW9uX2V2ZW50ID09IElOVkFMSURfSEFORExFX1ZBTFVFKQor I2Vsc2UKKyAgaWYgKGRhZW1vbl9waXBlWzFdIDwgMCApCisjZW5kaWYKICAgICBlcnJvciAoIlRo ZSBkYWVtb24gaGFzIGFscmVhZHkgYmVlbiBpbml0aWFsaXplZCIpOwogCiAgIGlmIChOSUxQIChW YWZ0ZXJfaW5pdF90aW1lKSkKICAgICBlcnJvciAoIlRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgYmUg Y2FsbGVkIGFmdGVyIGxvYWRpbmcgdGhlIGluaXQgZmlsZXMiKTsKK30KKworREVGVU4gKCJkYWVt b24taW5pdGlhbGl6ZWQiLCBGZGFlbW9uX2luaXRpYWxpemVkLCBTZGFlbW9uX2luaXRpYWxpemVk LCAwLCAwLCAwLAorICAgICAgIGRvYzogLyogTWFyayB0aGUgRW1hY3MgZGFlbW9uIGFzIGJlaW5n IGluaXRpYWxpemVkLgorVGhpcyBmaW5pc2hlcyB0aGUgZGFlbW9uaXphdGlvbiBwcm9jZXNzIGJ5 IGRvaW5nIHRoZSBvdGhlciBoYWxmIG9mIGRldGFjaGluZworZnJvbSB0aGUgcGFyZW50IHByb2Nl c3MgYW5kIGl0cyB0dHkgZmlsZSBkZXNjcmlwdG9ycy4gICovKQorICAodm9pZCkKK3sKKyAgZGFl bW9uX2NoZWNrX3ByZWNvbmRpdGlvbnMgKCk7CisjaWZkZWYgV0lORE9XU05UCisgIC8qIFNpZ25h bCB0aGUgd2FpdGluZyBlbWFjc2NsaWVudCBwcm9jZXNzLiAgKi8KKyAgU2V0RXZlbnQgKHczMl9k YWVtb25fZXZlbnQpOworICBDbG9zZUhhbmRsZSAodzMyX2RhZW1vbl9ldmVudCk7CisgIHczMl9k YWVtb25fZXZlbnQgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKKyNlbHNlCisgIGludCBuZmQ7Cisg IGJvb2wgZXJyID0gMDsKIAogICAvKiBHZXQgcmlkIG9mIHN0ZGluLCBzdGRvdXQgYW5kIHN0ZGVy ci4gICovCiAgIG5mZCA9IGVtYWNzX29wZW4gKCIvZGV2L251bGwiLCBPX1JEV1IsIDApOwpAQCAt MjM1MCw2ICsyNDExLDcgQEAgZnJvbSB0aGUgcGFyZW50IHByb2Nlc3MgYW5kIGl0cyB0dHkgZmls ZSBkZXNjcmlwdG9ycy4gICovKQogCiAgIGlmIChlcnIpCiAgICAgZXJyb3IgKCJJL08gZXJyb3Ig ZHVyaW5nIGRhZW1vbiBpbml0aWFsaXphdGlvbiIpOworI2VuZGlmCiAgIHJldHVybiBRdDsKIH0K IApkaWZmIC0tZ2l0IGEvc3JjL2tleWJvYXJkLmMgYi9zcmMva2V5Ym9hcmQuYwppbmRleCAzODNj MTA5Li44ZjBlMThmIDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9h cmQuYwpAQCAtMzgyOSw3ICszODI5LDExIEBAIGtiZF9idWZmZXJfZ2V0X2V2ZW50IChLQk9BUkQg KiprYnAsCiAgIGlmIChub25pbnRlcmFjdGl2ZQogICAgICAgLyogSW4gY2FzZSB3ZSBhcmUgcnVu bmluZyBhcyBhIGRhZW1vbiwgb25seSBkbyB0aGlzIGJlZm9yZQogCSBkZXRhY2hpbmcgZnJvbSB0 aGUgdGVybWluYWwuICAqLworI2lmZGVmIFdJTkRPV1NOVAorICAgICAgfHwgKElTX0RBRU1PTiAm JiB3MzJfZGFlbW9uX2V2ZW50ICE9IElOVkFMSURfSEFORExFX1ZBTFVFKSkKKyNlbHNlCiAgICAg ICB8fCAoSVNfREFFTU9OICYmIGRhZW1vbl9waXBlWzFdID49IDApKQorI2VuZGlmCiAgICAgewog ICAgICAgaW50IGMgPSBnZXRjaGFyICgpOwogICAgICAgWFNFVElOVCAob2JqLCBjKTsKZGlmZiAt LWdpdCBhL3NyYy9saXNwLmggYi9zcmMvbGlzcC5oCmluZGV4IGY1MjQyYWIuLjBiODU4MTcgMTAw NjQ0Ci0tLSBhL3NyYy9saXNwLmgKKysrIGIvc3JjL2xpc3AuaApAQCAtNDIxNSw5ICs0MjE1LDE0 IEBAIGV4dGVybiBib29sIG5vbmludGVyYWN0aXZlOwogZXh0ZXJuIGJvb2wgbm9fc2l0ZV9saXNw OwogCiAvKiBQaXBlIHVzZWQgdG8gc2VuZCBleGl0IG5vdGlmaWNhdGlvbiB0byB0aGUgZGFlbW9u IHBhcmVudCBhdAotICAgc3RhcnR1cC4gICovCisgICBzdGFydHVwLiAgT24gV2luZG93cywgd2Ug dXNlIGEga2VybmVsIGV2ZW50IGluc3RlYWQuICAqLworI2lmbmRlZiBXSU5ET1dTTlQKIGV4dGVy biBpbnQgZGFlbW9uX3BpcGVbMl07CiAjZGVmaW5lIElTX0RBRU1PTiAoZGFlbW9uX3BpcGVbMV0g IT0gMCkKKyNlbGlmIGRlZmluZWQoV0lORE9XU05UKQorZXh0ZXJuIHZvaWQgKnczMl9kYWVtb25f ZXZlbnQ7CisjZGVmaW5lIElTX0RBRU1PTiAodzMyX2RhZW1vbl9ldmVudCAhPSBOVUxMKQorI2Vu ZGlmCiAKIC8qIFRydWUgaWYgaGFuZGxpbmcgYSBmYXRhbCBlcnJvciBhbHJlYWR5LiAgKi8KIGV4 dGVybiBib29sIGZhdGFsX2Vycm9yX2luX3Byb2dyZXNzOwpkaWZmIC0tZ2l0IGEvc3JjL21pbmli dWYuYyBiL3NyYy9taW5pYnVmLmMKaW5kZXggMzQwOGJiOS4uZGVlN2NlOCAxMDA2NDQKLS0tIGEv c3JjL21pbmlidWYuYworKysgYi9zcmMvbWluaWJ1Zi5jCkBAIC00NTksNyArNDU5LDExIEBAIHJl YWRfbWluaWJ1ZiAoTGlzcF9PYmplY3QgbWFwLCBMaXNwX09iamVjdCBpbml0aWFsLCBMaXNwX09i amVjdCBwcm9tcHQsCiAgIGlmICgobm9uaW50ZXJhY3RpdmUKICAgICAgICAvKiBJbiBjYXNlIHdl IGFyZSBydW5uaW5nIGFzIGEgZGFlbW9uLCBvbmx5IGRvIHRoaXMgYmVmb3JlCiAJICBkZXRhY2hp bmcgZnJvbSB0aGUgdGVybWluYWwuICAqLworI2lmZGVmIFdJTkRPV1NOVAorICAgICAgIHx8IChJ U19EQUVNT04gJiYgdzMyX2RhZW1vbl9ldmVudCAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkpCisj ZWxzZQogICAgICAgIHx8IChJU19EQUVNT04gJiYgKGRhZW1vbl9waXBlWzFdID49IDApKSkKKyNl bmRpZgogICAgICAgJiYgTklMUCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pKQogICAgIHsKICAgICAg IHZhbCA9IHJlYWRfbWluaWJ1Zl9ub25pbnRlcmFjdGl2ZSAobWFwLCBpbml0aWFsLCBwcm9tcHQs Cg== --001a1140dc62f70abd050d9e3485 Content-Type: application/octet-stream; name="emacs-windows-daemon-namedev.patch" Content-Disposition: attachment; filename="emacs-windows-daemon-namedev.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i5f15mtl3 ZGlmZiAtLWdpdCBhL2xpYi1zcmMvZW1hY3NjbGllbnQuYyBiL2xpYi1zcmMvZW1hY3NjbGllbnQu YwppbmRleCBhMDRkZGE2Li5lZWI5Y2UyIDEwMDY0NAotLS0gYS9saWItc3JjL2VtYWNzY2xpZW50 LmMKKysrIGIvbGliLXNyYy9lbWFjc2NsaWVudC5jCkBAIC01OTUsMTMgKzU5NSw2IEBAIGRlY29k ZV9vcHRpb25zIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICBkaXNwbGF5ID0gTlVMTDsK ICAgICAgIHR0eSA9IDE7CiAgICAgfQotCi0gIGlmIChhbHRlcm5hdGVfZWRpdG9yICYmIGFsdGVy bmF0ZV9lZGl0b3JbMF0gPT0gJ1wwJykKLSAgICB7Ci0gICAgICBtZXNzYWdlICh0cnVlLCAiLS1h bHRlcm5hdGUtZWRpdG9yIGFyZ3VtZW50IG9yIEFMVEVSTkFURV9FRElUT1IgdmFyaWFibGUgY2Fu bm90IGJlXG5cCi1hbiBlbXB0eSBzdHJpbmciKTsKLSAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7 Ci0gICAgfQogI2VuZGlmIC8qIFdJTkRPV1NOVCAqLwogfQogCkBAIC02NDIsMTAgKzYzNSw4IEBA IFRoZSBmb2xsb3dpbmcgT1BUSU9OUyBhcmUgYWNjZXB0ZWQ6XG5cCiAJCQlTZXQgZmlsZW5hbWUg b2YgdGhlIFRDUCBhdXRoZW50aWNhdGlvbiBmaWxlXG5cCiAtYSBFRElUT1IsIC0tYWx0ZXJuYXRl LWVkaXRvcj1FRElUT1JcblwKIAkJCUVkaXRvciB0byBmYWxsYmFjayB0byBpZiB0aGUgc2VydmVy IGlzIG5vdCBydW5uaW5nXG4iCi0jaWZuZGVmIFdJTkRPV1NOVAogIgkJCUlmIEVESVRPUiBpcyB0 aGUgZW1wdHkgc3RyaW5nLCBzdGFydCBFbWFjcyBpbiBkYWVtb25cblwKIAkJCW1vZGUgYW5kIHRy eSBjb25uZWN0aW5nIGFnYWluXG4iCi0jZW5kaWYgLyogbm90IFdJTkRPV1NOVCAqLwogIlxuXAog UmVwb3J0IGJ1Z3Mgd2l0aCBNLXggcmVwb3J0LWVtYWNzLWJ1Zy5cbiIpOwogICBleGl0IChFWElU X1NVQ0NFU1MpOwpAQCAtMTQ1OSw5ICsxNDUwLDU3IEBAIHczMl9naXZlX2ZvY3VzICh2b2lkKQog LyogU3RhcnQgdGhlIGVtYWNzIGRhZW1vbiBhbmQgdHJ5IHRvIGNvbm5lY3QgdG8gaXQuICAqLwog CiBzdGF0aWMgdm9pZAorY29ubmVjdF90b19lbWFjc19zb2NrZXQgKHZvaWQpCit7CisjaWZkZWYg V0lORE9XU05UCisgIC8qIEl0J3MganVzdCBhIHByb2dyZXNzIG1lc3NhZ2UsIHNvIGRvbid0IHBv cCBhIGRpYWxvZyBpZiB0aGlzIGlzCisgICAgIGVtYWNzY2xpZW50dy4gICovCisgIGlmICghdzMy X3dpbmRvd19hcHAgKCkpCisjZW5kaWYKKyAgbWVzc2FnZSAodHJ1ZSwgIkVtYWNzIGRhZW1vbiBz aG91bGQgaGF2ZSBzdGFydGVkLCB0cnlpbmcgdG8gY29ubmVjdCBhZ2FpblxuIik7CisgIGlmICgo ZW1hY3Nfc29ja2V0ID0gc2V0X3NvY2tldCAoMSkpID09IElOVkFMSURfU09DS0VUKQorICAgIHsK KyAgICAgIG1lc3NhZ2UgKHRydWUsICJFcnJvcjogQ2Fubm90IGNvbm5lY3QgZXZlbiBhZnRlciBz dGFydGluZyB0aGUgRW1hY3MgZGFlbW9uXG4iKTsKKyAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7 CisgICAgfQorfQorCitzdGF0aWMgdm9pZAogc3RhcnRfZGFlbW9uX2FuZF9yZXRyeV9zZXRfc29j a2V0ICh2b2lkKQogewotI2lmbmRlZiBXSU5ET1dTTlQKKyNpZmRlZiBXSU5ET1dTTlQKKyAgRFdP UkQgd2FpdF9yZXN1bHQ7CisgIEhBTkRMRSB3MzJfZGFlbW9uX2V2ZW50OworICBTVEFSVFVQSU5G TyBzaTsKKyAgUFJPQ0VTU19JTkZPUk1BVElPTiBwaTsKKworICBaZXJvTWVtb3J5ICgmc2ksIHNp emVvZiBzaSk7CisgIHNpLmNiID0gc2l6ZW9mIHNpOworICBaZXJvTWVtb3J5ICgmcGksIHNpemVv ZiBwaSk7CisKKyAgaWYgKCFDcmVhdGVQcm9jZXNzIChOVUxMLCAiZW1hY3MgLS1kYWVtb24iLCBO VUxMLCBOVUxMLCBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICBDUkVBVEVfTk9fV0lORE9X LCBOVUxMLCBOVUxMLCAmc2ksICZwaSkpCisgICAgeworICAgICAgbWVzc2FnZSAodHJ1ZSwgIiVz OiBlcnJvciBzdGFydGluZyBlbWFjcyBkYWVtb25cbiIsIHByb2duYW1lKTsKKyAgICAgIGV4aXQg KEVYSVRfRkFJTFVSRSk7CisgICAgfQorCisgIHczMl9kYWVtb25fZXZlbnQgPSBDcmVhdGVFdmVu dCAoTlVMTCwgVFJVRSwgRkFMU0UsIFczMl9EQUVNT05fRVZFTlQpOworICBpZiAodzMyX2RhZW1v bl9ldmVudCA9PSBOVUxMKQorICAgIHsKKyAgICAgIG1lc3NhZ2UgKHRydWUsICJDb3VsZG4ndCBj cmVhdGUgV2luZG93cyBkYWVtb24gZXZlbnQiKTsKKyAgICAgIGV4aXQgKEVYSVRfRkFJTFVSRSk7 CisgICAgfQorICBpZiAoV2FpdEZvclNpbmdsZU9iamVjdCAodzMyX2RhZW1vbl9ldmVudCwgSU5G SU5JVEUpICE9IFdBSVRfT0JKRUNUXzApCisgICAgeworICAgICAgbWVzc2FnZSAodHJ1ZSwgIkVy cm9yIHdoaWxlIHdhaXRpbmcgZm9yIFdpbmRvd3MgZGFlbW9uIGV2ZW50Iik7CisgICAgICBleGl0 IChFWElUX0ZBSUxVUkUpOworICAgIH0KKyAgQ2xvc2VIYW5kbGUgKHczMl9kYWVtb25fZXZlbnQp OworCisgIC8qIFRyeSBjb25uZWN0aW5nLCB0aGUgZGFlbW9uIHNob3VsZCBoYXZlIHN0YXJ0ZWQg Ynkgbm93LiAgKi8KKyAgY29ubmVjdF90b19lbWFjc19zb2NrZXQgKCk7CisjZWxpZiAhZGVmaW5l ZChXSU5ET1dTTlQpCiAgIHBpZF90IGRwaWQ7CiAgIGludCBzdGF0dXM7CiAKQEAgLTE0NzksMTIg KzE1MTgsNyBAQCBzdGFydF9kYWVtb25fYW5kX3JldHJ5X3NldF9zb2NrZXQgKHZvaWQpCiAJfQog CiAgICAgICAvKiBUcnkgY29ubmVjdGluZywgdGhlIGRhZW1vbiBzaG91bGQgaGF2ZSBzdGFydGVk IGJ5IG5vdy4gICovCi0gICAgICBtZXNzYWdlICh0cnVlLCAiRW1hY3MgZGFlbW9uIHNob3VsZCBo YXZlIHN0YXJ0ZWQsIHRyeWluZyB0byBjb25uZWN0IGFnYWluXG4iKTsKLSAgICAgIGlmICgoZW1h Y3Nfc29ja2V0ID0gc2V0X3NvY2tldCAoMSkpID09IElOVkFMSURfU09DS0VUKQotCXsKLQkgIG1l c3NhZ2UgKHRydWUsICJFcnJvcjogQ2Fubm90IGNvbm5lY3QgZXZlbiBhZnRlciBzdGFydGluZyB0 aGUgRW1hY3MgZGFlbW9uXG4iKTsKLQkgIGV4aXQgKEVYSVRfRkFJTFVSRSk7Ci0JfQorICAgICAg Y29ubmVjdF90b19lbWFjc19zb2NrZXQgKCk7CiAgICAgfQogICBlbHNlIGlmIChkcGlkIDwgMCkK ICAgICB7CkBAIC0xNTExLDcgKzE1NDUsNyBAQCBzdGFydF9kYWVtb25fYW5kX3JldHJ5X3NldF9z b2NrZXQgKHZvaWQpCiAgICAgICBleGVjdnAgKCJlbWFjcyIsIGRfYXJndik7CiAgICAgICBtZXNz YWdlICh0cnVlLCAiJXM6IGVycm9yIHN0YXJ0aW5nIGVtYWNzIGRhZW1vblxuIiwgcHJvZ25hbWUp OwogICAgIH0KLSNlbmRpZiAvKiBXSU5ET1dTTlQgKi8KKyNlbmRpZiAvKiAhV0lORE9XU05UICov CiB9CiAKIGludApkaWZmIC0tZ2l0IGEvbGlzcC9mcmFtZS5lbCBiL2xpc3AvZnJhbWUuZWwKaW5k ZXggMWQ1YmJmMi4uMjNiYmMwZCAxMDA2NDQKLS0tIGEvbGlzcC9mcmFtZS5lbAorKysgYi9saXNw L2ZyYW1lLmVsCkBAIC01MzYsNyArNTM2LDggQEAgaXMgbm90IGNvbnNpZGVyZWQgKHNlZSBgbmV4 dC1mcmFtZScpLiIKIFJldHVybiBuaWwgaWYgd2UgZG9uJ3Qga25vdyBob3cgdG8gaW50ZXJwcmV0 IERJU1BMQVkuIgogICA7OyBNUy1XaW5kb3dzIGRvZXNuJ3Qga25vdyBob3cgdG8gY3JlYXRlIGEg R1VJIGZyYW1lIGluIGEgLW53IHNlc3Npb24uCiAgIChpZiAoYW5kIChlcSBzeXN0ZW0tdHlwZSAn d2luZG93cy1udCkKLQkgICAobnVsbCAod2luZG93LXN5c3RlbSkpKQorCSAgIChudWxsICh3aW5k b3ctc3lzdGVtKSkKKwkgICAobm90IChkYWVtb25wKSkpCiAgICAgICBuaWwKICAgICAoY2wtbG9v cCBmb3IgZGVzY3JpcHRvciBpbiBkaXNwbGF5LWZvcm1hdC1hbGlzdAogCSAgICAgZm9yIHBhdHRl cm4gPSAoY2FyIGRlc2NyaXB0b3IpCmRpZmYgLS1naXQgYS9saXNwL2ZyYW1lc2V0LmVsIGIvbGlz cC9mcmFtZXNldC5lbAppbmRleCA0YTA2Mzc0Li4xN2ZlMzliIDEwMDY0NAotLS0gYS9saXNwL2Zy YW1lc2V0LmVsCisrKyBiL2xpc3AvZnJhbWVzZXQuZWwKQEAgLTEwMjIsOCArMTAyMiw4IEBAIElu dGVybmFsIHVzZSBvbmx5LiIKIChkZWZ1biBmcmFtZXNldC1rZWVwLW9yaWdpbmFsLWRpc3BsYXkt cCAoZm9yY2UtZGlzcGxheSkKICAgIlRydWUgaWYgc2F2ZWQgZnJhbWVzJyBkaXNwbGF5cyBzaG91 bGQgYmUgaG9ub3JlZC4KIEZvciB0aGUgbWVhbmluZyBvZiBGT1JDRS1ESVNQTEFZLCBzZWUgYGZy YW1lc2V0LXJlc3RvcmUnLiIKLSAgKGNvbmQgKChkYWVtb25wKSB0KQotCSgoZXEgc3lzdGVtLXR5 cGUgJ3dpbmRvd3MtbnQpIG5pbCkgOzsgRG9lcyBucyBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgZGlz cGxheT8KKyAgKGNvbmQgKChlcSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkgbmlsKSA7OyBEb2Vz IG5zIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBkaXNwbGF5PworCSgoZGFlbW9ucCkgdCkKIAkodCAo bm90IGZvcmNlLWRpc3BsYXkpKSkpCiAKIChkZWZ1biBmcmFtZXNldC1taW5pYnVmZmVybGVzcy1m aXJzdC1wIChmcmFtZTEgX2ZyYW1lMikKZGlmZiAtLWdpdCBhL2xpc3Avc2VydmVyLmVsIGIvbGlz cC9zZXJ2ZXIuZWwKaW5kZXggMTY2Y2Q0NC4uOTU4NWIxNyAxMDA2NDQKLS0tIGEvbGlzcC9zZXJ2 ZXIuZWwKKysrIGIvbGlzcC9zZXJ2ZXIuZWwKQEAgLTExMzksOSArMTEzOSwxMiBAQCBUaGUgZm9s bG93aW5nIGNvbW1hbmRzIGFyZSBhY2NlcHRlZCBieSB0aGUgY2xpZW50OgogICAgICAgICAgICAg ICAgICA7OyBmcmFtZS4gIElmIHJ1bm5pbmcgYSBHVUkgc2VydmVyLCBmb3JjZSB0aGUgZnJhbWUK ICAgICAgICAgICAgICAgICAgOzsgdHlwZSB0byBHVUkuICAoQ3lnd2luIGlzIHBlcmZlY3RseSBo YXBweSB3aXRoCiAgICAgICAgICAgICAgICAgIDs7IG11bHRpLXR0eSBzdXBwb3J0LCBzbyBkb24n dCBvdmVycmlkZSB0aGUgdXNlcidzCi0gICAgICAgICAgICAgICAgIDs7IGNob2ljZSB0aGVyZS4p CisgICAgICAgICAgICAgICAgIDs7IGNob2ljZSB0aGVyZS4pICBJbiBkYWVtb24gbW9kZSBvbiBX aW5kb3dzLCB3ZSBjYW4ndAorICAgICAgICAgICAgICAgICA7OyBtYWtlIHR0eSBmcmFtZXMsIHNv IGZvcmNlIHRoZSBmcmFtZSB0eXBlIHRvIEdVSQorICAgICAgICAgICAgICAgICA7OyB0aGVyZSB0 b28uCiAgICAgICAgICAgICAgICAgICh3aGVuIChhbmQgKGVxIHN5c3RlbS10eXBlICd3aW5kb3dz LW50KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB3aW5kb3ctc3lzdGVtICd3MzIp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoZGFlbW9ucCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGVxIHdpbmRvdy1zeXN0ZW0gJ3czMikpKQogICAgICAgICAg ICAgICAgICAgIChwdXNoICItd2luZG93LXN5c3RlbSIgYXJncy1sZWZ0KSkpCiAKICAgICAgICAg ICAgICAgICA7OyAtcG9zaXRpb24gTElORVs6Q09MVU1OXTogIFNldCBwb2ludCB0byB0aGUgZ2l2 ZW4KQEAgLTEyMTUsNyArMTIxOCwxMCBAQCBUaGUgZm9sbG93aW5nIGNvbW1hbmRzIGFyZSBhY2Nl cHRlZCBieSB0aGUgY2xpZW50OgogCQkJCQkgICB0ZXJtaW5hbC1mcmFtZSkpKSkpCiAJCSAgICAo c2V0cSB0dHktbmFtZSBuaWwgdHR5LXR5cGUgbmlsKQogCQkgICAgKGlmIGRpc3BsYXkgKHNlcnZl ci1zZWxlY3QtZGlzcGxheSBkaXNwbGF5KSkpCi0JCSAgICgoZXEgdHR5LW5hbWUgJ3dpbmRvdy1z eXN0ZW0pCisJCSAgICgob3IgKGFuZCAoZXEgc3lzdGVtLXR5cGUgJ3dpbmRvd3MtbnQpCisJCQkg ICAgIChkYWVtb25wKQorCQkJICAgICAoc2V0cSBkaXNwbGF5ICJ3MzIiKSkKKwkJICAgICAgICAo ZXEgdHR5LW5hbWUgJ3dpbmRvdy1zeXN0ZW0pKQogCQkgICAgKHNlcnZlci1jcmVhdGUtd2luZG93 LXN5c3RlbS1mcmFtZSBkaXNwbGF5IG5vd2FpdCBwcm9jCiAJCQkJCQkgICAgICAgcGFyZW50LWlk CiAJCQkJCQkgICAgICAgZnJhbWUtcGFyYW1ldGVycykpCmRpZmYgLS1naXQgYS9udC9pbmMvbXMt dzMyLmggYi9udC9pbmMvbXMtdzMyLmgKaW5kZXggYWRhYzJlMy4uODQzOTE2MyAxMDA2NDQKLS0t IGEvbnQvaW5jL21zLXczMi5oCisrKyBiL250L2luYy9tcy13MzIuaApAQCAtNTk3LDUgKzU5Nyw3 IEBAIGV4dGVybiB2b2lkIF9EZWJQcmludCAoY29uc3QgY2hhciAqZm10LCAuLi4pOwogI2VuZGlm CiAjZW5kaWYKIAorLyogRXZlbnQgbmFtZSBmb3Igd2hlbiBlbWFjc2NsaWVudCBzdGFydHMgdGhl IEVtYWNzIGRhZW1vbiBvbiBXaW5kb3dzLiAgKi8KKyNkZWZpbmUgVzMyX0RBRU1PTl9FVkVOVCAi RW1hY3NTZXJ2ZXJFdmVudCIKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmRpZmYgLS1naXQgYS9zcmMvZGlzcG5ldy5j IGIvc3JjL2Rpc3BuZXcuYwppbmRleCAzYzgxMTdlLi5lODZmYmI4IDEwMDY0NAotLS0gYS9zcmMv ZGlzcG5ldy5jCisrKyBiL3NyYy9kaXNwbmV3LmMKQEAgLTU5NzQsOSArNTk3NCwxMiBAQCBpbml0 X2Rpc3BsYXkgKHZvaWQpCiAgICAgfQogI2VuZGlmIC8qIFNJR1dJTkNIICovCiAKLSAgLyogSWYg cnVubmluZyBhcyBhIGRhZW1vbiwgbm8gbmVlZCB0byBpbml0aWFsaXplIGFueSBmcmFtZXMvdGVy bWluYWwuICovCisgIC8qIElmIHJ1bm5pbmcgYXMgYSBkYWVtb24sIG5vIG5lZWQgdG8gaW5pdGlh bGl6ZSBhbnkgZnJhbWVzL3Rlcm1pbmFsLAorICAgICBleGNlcHQgb24gV2luZG93cywgd2hlcmUg d2UgYXQgbGVhc3Qgd2FudCB0byBpbml0aWFsaXplIGl0LiAgKi8KKyNpZm5kZWYgV0lORE9XU05U CiAgIGlmIChJU19EQUVNT04pCiAgICAgICByZXR1cm47CisjZW5kaWYKIAogICAvKiBJZiB0aGUg dXNlciB3YW50cyB0byB1c2UgYSB3aW5kb3cgc3lzdGVtLCB3ZSBzaG91bGRuJ3QgYm90aGVyCiAg ICAgIGluaXRpYWxpemluZyB0aGUgdGVybWluYWwuICBUaGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0 YW50IHdoZW4gdGhlCmRpZmYgLS1naXQgYS9zcmMvZW1hY3MuYyBiL3NyYy9lbWFjcy5jCmluZGV4 IDM0NWZlM2UuLjI5MzJlMzYgMTAwNjQ0Ci0tLSBhL3NyYy9lbWFjcy5jCisrKyBiL3NyYy9lbWFj cy5jCkBAIC0xOTUsOSArMTk1LDEzIEBAIGJvb2wgbm9fc2l0ZV9saXNwOwogLyogTmFtZSBmb3Ig dGhlIHNlcnZlciBzdGFydGVkIGJ5IHRoZSBkYWVtb24uKi8KIHN0YXRpYyBjaGFyICpkYWVtb25f bmFtZTsKIAorI2lmbmRlZiBXSU5ET1dTTlQKIC8qIFBpcGUgdXNlZCB0byBzZW5kIGV4aXQgbm90 aWZpY2F0aW9uIHRvIHRoZSBkYWVtb24gcGFyZW50IGF0CiAgICBzdGFydHVwLiAgKi8KIGludCBk YWVtb25fcGlwZVsyXTsKKyNlbHNlCitIQU5ETEUgdzMyX2RhZW1vbl9ldmVudDsKKyNlbmRpZgog CiAvKiBTYXZlIGFyZ3YgYW5kIGFyZ2MuICAqLwogY2hhciAqKmluaXRpYWxfYXJndjsKQEAgLTk4 MCw4ICs5ODQsMTIgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgZXhpdCAo MCk7CiAgICAgfQogCisjaWZuZGVmIFdJTkRPV1NOVAogICAvKiBNYWtlIHN1cmUgSVNfREFFTU9O IHN0YXJ0cyB1cCBhcyBmYWxzZS4gICovCiAgIGRhZW1vbl9waXBlWzFdID0gMDsKKyNlbHNlCisg IHczMl9kYWVtb25fZXZlbnQgPSBOVUxMOworI2VuZGlmCiAKICAgaWYgKGFyZ21hdGNoIChhcmd2 LCBhcmdjLCAiLWRhZW1vbiIsICItLWRhZW1vbiIsIDUsIE5VTEwsICZza2lwX2FyZ3MpCiAgICAg ICB8fCBhcmdtYXRjaCAoYXJndiwgYXJnYywgIi1kYWVtb24iLCAiLS1kYWVtb24iLCA1LCAmZG5h bWVfYXJnLCAmc2tpcF9hcmdzKSkKQEAgLTExMTEsMTAgKzExMTksMjAgQEAgVXNpbmcgYW4gRW1h Y3MgY29uZmlndXJlZCB3aXRoIC0td2l0aC14LXRvb2xraXQ9bHVjaWQgZG9lcyBub3QgaGF2ZSB0 aGlzIHByb2JsZW0KICAgICAgIGVtYWNzX2Nsb3NlIChkYWVtb25fcGlwZVswXSk7CiAKICAgICAg IHNldHNpZCAoKTsKLSNlbHNlIC8qIERPU19OVCAqLworI2VsaWYgZGVmaW5lZChXSU5ET1dTTlQp CisgICAgICAvKiBJbmRpY2F0ZSB0aGF0IHdlIHdhbnQgZGFlbW9uIG1vZGUuICAqLworICAgICAg dzMyX2RhZW1vbl9ldmVudCA9IENyZWF0ZUV2ZW50IChOVUxMLCBUUlVFLCBGQUxTRSwgVzMyX0RB RU1PTl9FVkVOVCk7CisgICAgICBpZiAodzMyX2RhZW1vbl9ldmVudCA9PSBOVUxMKQorICAgICAg ICB7CisgICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiQ291bGRuJ3QgY3JlYXRlIGV2ZW50IGZv ciBXaW5kb3dzIGRhZW1vblxuIik7CisgICAgICAgICAgZXhpdCAoMSk7CisgICAgICAgIH0KKyAg ICAgIGlmIChkbmFtZV9hcmcpCisgICAgICAgIGRhZW1vbl9uYW1lID0geHN0cmR1cCAoZG5hbWVf YXJnKTsKKyNlbHNlIC8qIE1TRE9TICovCiAgICAgICBmcHJpbnRmIChzdGRlcnIsICJUaGlzIHBs YXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgdGhlIC1kYWVtb24gZmxhZy5cbiIpOwogICAgICAgZXhp dCAoMSk7Ci0jZW5kaWYgLyogRE9TX05UICovCisjZW5kaWYgLyogTVNET1MgKi8KICAgICB9CiAK ICNpZiBkZWZpbmVkIEhBVkVfUFRIUkVBRCAmJiAhZGVmaW5lZCBTWVNURU1fTUFMTE9DIFwKQEAg LTIzMTAsMjMgKzIzMjgsNDAgQEAgSWYgdGhlIGRhZW1vbiB3YXMgZ2l2ZW4gYSBuYW1lIGFyZ3Vt ZW50LCByZXR1cm4gdGhhdCBuYW1lLiAqLykKICAgICByZXR1cm4gUW5pbDsKIH0KIAotREVGVU4g KCJkYWVtb24taW5pdGlhbGl6ZWQiLCBGZGFlbW9uX2luaXRpYWxpemVkLCBTZGFlbW9uX2luaXRp YWxpemVkLCAwLCAwLCAwLAotICAgICAgIGRvYzogLyogTWFyayB0aGUgRW1hY3MgZGFlbW9uIGFz IGJlaW5nIGluaXRpYWxpemVkLgotVGhpcyBmaW5pc2hlcyB0aGUgZGFlbW9uaXphdGlvbiBwcm9j ZXNzIGJ5IGRvaW5nIHRoZSBvdGhlciBoYWxmIG9mIGRldGFjaGluZwotZnJvbSB0aGUgcGFyZW50 IHByb2Nlc3MgYW5kIGl0cyB0dHkgZmlsZSBkZXNjcmlwdG9ycy4gICovKQotICAodm9pZCkKK3N0 YXRpYyB2b2lkCitkYWVtb25fY2hlY2tfcHJlY29uZGl0aW9ucyAodm9pZCkKIHsKLSAgaW50IG5m ZDsKLSAgYm9vbCBlcnIgPSAwOwotCiAgIGlmICghSVNfREFFTU9OKQogICAgIGVycm9yICgiVGhp cyBmdW5jdGlvbiBjYW4gb25seSBiZSBjYWxsZWQgaWYgZW1hY3MgaXMgcnVuIGFzIGEgZGFlbW9u Iik7CiAKLSAgaWYgKGRhZW1vbl9waXBlWzFdIDwgMCkKKyNpZmRlZiBXSU5ET1dTTlQKKyAgLyog SVNfREFFTU9OIGFib3ZlIGFscmVhZHkgY2hlY2tzIHRoYXQgdzMyX2RhZW1vbl9ldmVudCAhPSBO VUxMLCBzbyBvbmx5CisgICAgIGNoZWNrIHRoYXQgd2Ugc3VjY2Vzc2Z1bGx5IHN0YXJ0ZWQgdGhl IGRhZW1vbiBoZXJlLiAgKi8KKyAgaWYgKHczMl9kYWVtb25fZXZlbnQgPT0gSU5WQUxJRF9IQU5E TEVfVkFMVUUpCisjZWxzZQorICBpZiAoZGFlbW9uX3BpcGVbMV0gPCAwICkKKyNlbmRpZgogICAg IGVycm9yICgiVGhlIGRhZW1vbiBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkIik7CiAKICAg aWYgKE5JTFAgKFZhZnRlcl9pbml0X3RpbWUpKQogICAgIGVycm9yICgiVGhpcyBmdW5jdGlvbiBj YW4gb25seSBiZSBjYWxsZWQgYWZ0ZXIgbG9hZGluZyB0aGUgaW5pdCBmaWxlcyIpOworfQorCitE RUZVTiAoImRhZW1vbi1pbml0aWFsaXplZCIsIEZkYWVtb25faW5pdGlhbGl6ZWQsIFNkYWVtb25f aW5pdGlhbGl6ZWQsIDAsIDAsIDAsCisgICAgICAgZG9jOiAvKiBNYXJrIHRoZSBFbWFjcyBkYWVt b24gYXMgYmVpbmcgaW5pdGlhbGl6ZWQuCitUaGlzIGZpbmlzaGVzIHRoZSBkYWVtb25pemF0aW9u IHByb2Nlc3MgYnkgZG9pbmcgdGhlIG90aGVyIGhhbGYgb2YgZGV0YWNoaW5nCitmcm9tIHRoZSBw YXJlbnQgcHJvY2VzcyBhbmQgaXRzIHR0eSBmaWxlIGRlc2NyaXB0b3JzLiAgKi8pCisgICh2b2lk KQoreworICBkYWVtb25fY2hlY2tfcHJlY29uZGl0aW9ucyAoKTsKKyNpZmRlZiBXSU5ET1dTTlQK KyAgLyogU2lnbmFsIHRoZSB3YWl0aW5nIGVtYWNzY2xpZW50IHByb2Nlc3MuICAqLworICBTZXRF dmVudCAodzMyX2RhZW1vbl9ldmVudCk7CisgIENsb3NlSGFuZGxlICh3MzJfZGFlbW9uX2V2ZW50 KTsKKyAgdzMyX2RhZW1vbl9ldmVudCA9IElOVkFMSURfSEFORExFX1ZBTFVFOworI2Vsc2UKKyAg aW50IG5mZDsKKyAgYm9vbCBlcnIgPSAwOwogCiAgIC8qIEdldCByaWQgb2Ygc3RkaW4sIHN0ZG91 dCBhbmQgc3RkZXJyLiAgKi8KICAgbmZkID0gZW1hY3Nfb3BlbiAoIi9kZXYvbnVsbCIsIE9fUkRX UiwgMCk7CkBAIC0yMzUwLDYgKzIzODUsNyBAQCBmcm9tIHRoZSBwYXJlbnQgcHJvY2VzcyBhbmQg aXRzIHR0eSBmaWxlIGRlc2NyaXB0b3JzLiAgKi8pCiAKICAgaWYgKGVycikKICAgICBlcnJvciAo IkkvTyBlcnJvciBkdXJpbmcgZGFlbW9uIGluaXRpYWxpemF0aW9uIik7CisjZW5kaWYKICAgcmV0 dXJuIFF0OwogfQogCmRpZmYgLS1naXQgYS9zcmMva2V5Ym9hcmQuYyBiL3NyYy9rZXlib2FyZC5j CmluZGV4IDM4M2MxMDkuLjhmMGUxOGYgMTAwNjQ0Ci0tLSBhL3NyYy9rZXlib2FyZC5jCisrKyBi L3NyYy9rZXlib2FyZC5jCkBAIC0zODI5LDcgKzM4MjksMTEgQEAga2JkX2J1ZmZlcl9nZXRfZXZl bnQgKEtCT0FSRCAqKmticCwKICAgaWYgKG5vbmludGVyYWN0aXZlCiAgICAgICAvKiBJbiBjYXNl IHdlIGFyZSBydW5uaW5nIGFzIGEgZGFlbW9uLCBvbmx5IGRvIHRoaXMgYmVmb3JlCiAJIGRldGFj aGluZyBmcm9tIHRoZSB0ZXJtaW5hbC4gICovCisjaWZkZWYgV0lORE9XU05UCisgICAgICB8fCAo SVNfREFFTU9OICYmIHczMl9kYWVtb25fZXZlbnQgIT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpKQor I2Vsc2UKICAgICAgIHx8IChJU19EQUVNT04gJiYgZGFlbW9uX3BpcGVbMV0gPj0gMCkpCisjZW5k aWYKICAgICB7CiAgICAgICBpbnQgYyA9IGdldGNoYXIgKCk7CiAgICAgICBYU0VUSU5UIChvYmos IGMpOwpkaWZmIC0tZ2l0IGEvc3JjL2xpc3AuaCBiL3NyYy9saXNwLmgKaW5kZXggZjUyNDJhYi4u MGI4NTgxNyAxMDA2NDQKLS0tIGEvc3JjL2xpc3AuaAorKysgYi9zcmMvbGlzcC5oCkBAIC00MjE1 LDkgKzQyMTUsMTQgQEAgZXh0ZXJuIGJvb2wgbm9uaW50ZXJhY3RpdmU7CiBleHRlcm4gYm9vbCBu b19zaXRlX2xpc3A7CiAKIC8qIFBpcGUgdXNlZCB0byBzZW5kIGV4aXQgbm90aWZpY2F0aW9uIHRv IHRoZSBkYWVtb24gcGFyZW50IGF0Ci0gICBzdGFydHVwLiAgKi8KKyAgIHN0YXJ0dXAuICBPbiBX aW5kb3dzLCB3ZSB1c2UgYSBrZXJuZWwgZXZlbnQgaW5zdGVhZC4gICovCisjaWZuZGVmIFdJTkRP V1NOVAogZXh0ZXJuIGludCBkYWVtb25fcGlwZVsyXTsKICNkZWZpbmUgSVNfREFFTU9OIChkYWVt b25fcGlwZVsxXSAhPSAwKQorI2VsaWYgZGVmaW5lZChXSU5ET1dTTlQpCitleHRlcm4gdm9pZCAq dzMyX2RhZW1vbl9ldmVudDsKKyNkZWZpbmUgSVNfREFFTU9OICh3MzJfZGFlbW9uX2V2ZW50ICE9 IE5VTEwpCisjZW5kaWYKIAogLyogVHJ1ZSBpZiBoYW5kbGluZyBhIGZhdGFsIGVycm9yIGFscmVh ZHkuICAqLwogZXh0ZXJuIGJvb2wgZmF0YWxfZXJyb3JfaW5fcHJvZ3Jlc3M7CmRpZmYgLS1naXQg YS9zcmMvbWluaWJ1Zi5jIGIvc3JjL21pbmlidWYuYwppbmRleCAzNDA4YmI5Li5kZWU3Y2U4IDEw MDY0NAotLS0gYS9zcmMvbWluaWJ1Zi5jCisrKyBiL3NyYy9taW5pYnVmLmMKQEAgLTQ1OSw3ICs0 NTksMTEgQEAgcmVhZF9taW5pYnVmIChMaXNwX09iamVjdCBtYXAsIExpc3BfT2JqZWN0IGluaXRp YWwsIExpc3BfT2JqZWN0IHByb21wdCwKICAgaWYgKChub25pbnRlcmFjdGl2ZQogICAgICAgIC8q IEluIGNhc2Ugd2UgYXJlIHJ1bm5pbmcgYXMgYSBkYWVtb24sIG9ubHkgZG8gdGhpcyBiZWZvcmUK IAkgIGRldGFjaGluZyBmcm9tIHRoZSB0ZXJtaW5hbC4gICovCisjaWZkZWYgV0lORE9XU05UCisg ICAgICAgfHwgKElTX0RBRU1PTiAmJiB3MzJfZGFlbW9uX2V2ZW50ICE9IElOVkFMSURfSEFORExF X1ZBTFVFKSkKKyNlbHNlCiAgICAgICAgfHwgKElTX0RBRU1PTiAmJiAoZGFlbW9uX3BpcGVbMV0g Pj0gMCkpKQorI2VuZGlmCiAgICAgICAmJiBOSUxQIChWZXhlY3V0aW5nX2tiZF9tYWNybykpCiAg ICAgewogICAgICAgdmFsID0gcmVhZF9taW5pYnVmX25vbmludGVyYWN0aXZlIChtYXAsIGluaXRp YWwsIHByb21wdCwK --001a1140dc62f70abd050d9e3485-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 29 19:36:33 2015 Received: (at 19688) by debbugs.gnu.org; 30 Jan 2015 00:36:33 +0000 Received: from localhost ([127.0.0.1]:57622 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGzZY-0004BT-SA for submit@debbugs.gnu.org; Thu, 29 Jan 2015 19:36:33 -0500 Received: from mail-ig0-f175.google.com ([209.85.213.175]:43843) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YGzZX-0004BF-Hb for 19688@debbugs.gnu.org; Thu, 29 Jan 2015 19:36:31 -0500 Received: by mail-ig0-f175.google.com with SMTP id hn18so13979116igb.2 for <19688@debbugs.gnu.org>; Thu, 29 Jan 2015 16:36:25 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=sgyJcIv/DmDxUvqAr1wowDufo/luK4a2FUt77puwh6Y=; b=fDtoWVlzJtq9Y7cY8TW4sk3l4JVS47W6i1RqqmOPIcDu2M9oPf/IEAmmLh08xZrmAP wG1jGSqS3UPf2GfoM55vLAL2OE4LCRqI1HRlpyw51HBxTbpp5gLZ4FAQOLtb1O9QSzaq lJs8HfXNr8vOUKDPuNvYrhQDy7HRLEq8SjSzjeUWysArRuiuIdEtc0YBNpu9QcB2QZqB 3gVbcLbN6P/OjSAXw+x44KmSVR58sOZa5j2ryQWju49VgTmUQbkRLI8MEKpMUX9VkbbL 5dkqZbS9fx7CwZtfX+SRiODYXXfumdaTOj71RfTjmM8KnEmlxqaYTmTVYvPIb3TB9HOu Shsg== X-Gm-Message-State: ALoCoQmhx0+u1ITZuwRXbEPCEx9KseZfZpPla5j6Y6vg/E+a96wy9XTcX69uaWQ0U4HamTdk6slD MIME-Version: 1.0 X-Received: by 10.107.170.162 with SMTP id g34mr349282ioj.7.1422578185747; Thu, 29 Jan 2015 16:36:25 -0800 (PST) Received: by 10.36.65.195 with HTTP; Thu, 29 Jan 2015 16:36:25 -0800 (PST) X-Originating-IP: [119.245.101.203] In-Reply-To: References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> Date: Fri, 30 Jan 2015 09:36:25 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Daniel Colascione Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: Eli Zaretskii , 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I just emailed a signed copy of the copyright assignment form to the clerk, so that should be taken care of now. Did either of you have a chance to check the latest patch(es) I sent? -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 30 01:28:17 2015 Received: (at 19688) by debbugs.gnu.org; 30 Jan 2015 06:28:17 +0000 Received: from localhost ([127.0.0.1]:57713 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH53w-0007Ga-TV for submit@debbugs.gnu.org; Fri, 30 Jan 2015 01:28:17 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:60505) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YH53t-0007GA-6j for 19688@debbugs.gnu.org; Fri, 30 Jan 2015 01:28:14 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NIZ00I008GYN300@a-mtaout22.012.net.il> for 19688@debbugs.gnu.org; Fri, 30 Jan 2015 08:28:06 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIZ00I5J8MUK610@a-mtaout22.012.net.il>; Fri, 30 Jan 2015 08:28:06 +0200 (IST) Date: Fri, 30 Jan 2015 08:28:04 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <834mr8n5or.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: dancol@dancol.org, 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 30 Jan 2015 09:36:25 +0900 > From: Mark Laws > Cc: Eli Zaretskii , 19688@debbugs.gnu.org > > I just emailed a signed copy of the copyright assignment form to the > clerk, so that should be taken care of now. Thanks. We need to wait till their process is complete, though. > Did either of you have a chance to check the latest patch(es) I > sent? Not yet. Will do so soon. From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 12 19:07:13 2015 Received: (at 19688) by debbugs.gnu.org; 13 Feb 2015 00:07:13 +0000 Received: from localhost ([127.0.0.1]:41070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YM3mr-0007KO-1U for submit@debbugs.gnu.org; Thu, 12 Feb 2015 19:07:13 -0500 Received: from mail-ie0-f179.google.com ([209.85.223.179]:33021) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YM3mo-0007K9-8j for 19688@debbugs.gnu.org; Thu, 12 Feb 2015 19:07:11 -0500 Received: by iecar1 with SMTP id ar1so16096778iec.0 for <19688@debbugs.gnu.org>; Thu, 12 Feb 2015 16:07:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Qkp+LRbnnh++0PbDrzK+VsKycWjjSvA7MetkXrCqLZE=; b=nFlzhMKDpcsS0nmJdZnw4NivBACMHCG1nWQ4W8DpCtmuQrHRg/VUZmZFNTOF3yzkVO xVPNPmgsau7eel39fidZzbySzLPO7mqlL5uoGy2bNfkGpiml23IiIp1YNkGXysCE33KJ VLRB4P+OpJppoY392+cXfcq0EAz4h89aj8osEdKNEQJO+L9MpY3yT6MlXOeIzxplnX/H chiB1JANFJSi+5fczIPK6uTudl42gU7krh3DCLsp1M+WyZxLgFMRVXd4LNxHWUDpItLl 2W8ryH3zDu+Pcb1Pq/ELc63dugDskkZRpE/JpUOU5lNH3MOQwUEJtHVcWlLy5wasXDxr CZUw== X-Gm-Message-State: ALoCoQnTXvA08ByCKtWTqK4ynsALIgHJ55M92o+8YaIHmQ1FQXUtxLJD/imCUelWEvH/0QVZKC/q MIME-Version: 1.0 X-Received: by 10.43.55.84 with SMTP id vx20mr11446948icb.62.1423786024606; Thu, 12 Feb 2015 16:07:04 -0800 (PST) Received: by 10.36.65.195 with HTTP; Thu, 12 Feb 2015 16:07:04 -0800 (PST) X-Originating-IP: [219.102.175.250] In-Reply-To: <834mr8n5or.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> Date: Fri, 13 Feb 2015 09:07:04 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: Daniel Colascione , 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Any chance to check out the patches yet? -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 13 03:49:44 2015 Received: (at 19688) by debbugs.gnu.org; 13 Feb 2015 08:49:44 +0000 Received: from localhost ([127.0.0.1]:41312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMBwV-0006nr-Pb for submit@debbugs.gnu.org; Fri, 13 Feb 2015 03:49:44 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:46213) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMBwT-0006nd-7J for 19688@debbugs.gnu.org; Fri, 13 Feb 2015 03:49:42 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NJP00900CFZV600@a-mtaout22.012.net.il> for 19688@debbugs.gnu.org; Fri, 13 Feb 2015 10:49:34 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJP00900CIMG5B0@a-mtaout22.012.net.il>; Fri, 13 Feb 2015 10:49:34 +0200 (IST) Date: Fri, 13 Feb 2015 10:49:31 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83pp9e42n8.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: dancol@dancol.org, 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 13 Feb 2015 09:07:04 +0900 > From: Mark Laws > Cc: Daniel Colascione , 19688@debbugs.gnu.org > > Any chance to check out the patches yet? It's on my todo. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 07:10:40 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 12:10:40 +0000 Received: from localhost ([127.0.0.1]:42754 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMbYV-0004Ae-GP for submit@debbugs.gnu.org; Sat, 14 Feb 2015 07:10:39 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:63224) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMbYQ-0004AJ-Py for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 07:10:36 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NJR00900FU0BZ00@a-mtaout21.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 14:10:28 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR009GDGHF9F70@a-mtaout21.012.net.il>; Sat, 14 Feb 2015 14:10:28 +0200 (IST) Date: Sat, 14 Feb 2015 14:10:28 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: <83pp9e42n8.fsf@gnu.org> X-012-Sender: halo1@inter.net.il To: mdl@60hz.org Message-id: <8361b4y9qj.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 13 Feb 2015 10:49:31 +0200 > From: Eli Zaretskii > Cc: 19688@debbugs.gnu.org > > > Date: Fri, 13 Feb 2015 09:07:04 +0900 > > From: Mark Laws > > Cc: Daniel Colascione , 19688@debbugs.gnu.org > > > > Any chance to check out the patches yet? > > It's on my todo. Sorry for the long delay (life intervened). After reading the last messages, I must ask that we back up a notch and discuss something I'm not sure I understand correctly. Specifically, this issue: > >> >> +#define W32_EMACS_SERVER_GUID "{0B8E5DCB-D7CF-4423-A9F1-2F6927F0D318}" > >> > > >> > Where did this GUID come from? > >> > > >> I generated it myself. > > > > Is that safe? Do we care whether this GUID is globally unique? Why > > exactly do we need it to begin with? > > It should be safe. On UNIX, Emacs uses a pipe to tell emacsclient when > it's done initializing. On Windows, since we don't have fork, the > easiest options are either a named event object[1] or specifying that > the child process inherit the event handle in CreateProcess. Maybe I'm missing something, but I don't see a pipe being used on Unix for synchronization between emacsclient and the daemon started by emacsclient. Rather, on Unix we do this: dpid = fork (); if (dpid > 0) { pid_t w; w = waitpid (dpid, &status, WUNTRACED | WCONTINUED); if ((w == -1) || !WIFEXITED (status) || WEXITSTATUS (status)) { message (true, "Error: Could not start the Emacs daemon\n"); exit (EXIT_FAILURE); } /* Try connecting, the daemon should have started by now. */ message (true, "Emacs daemon should have started, trying to connect again\n"); if ((emacs_socket = set_socket (1)) == INVALID_SOCKET) My reading of this is that we use 'waitpid' to tell us when the daemon has started and is ready to receive our connection. There's no pipe involved here, AFAICT. Am I missing something? My understanding is that your Windows variant of the above is to wait on an event that is signaled by Emacs when it starts in daemon mode. My question is: can we use something similar to Unix here, like 'WaitForInputIdle'? After all, the above call to 'waitpid' just tells us the daemon process is past its initialization stage, as far as the OS is concerned, which isn't too fine-grained. Perhaps even repeatedly calling 'GetExitCodeProcess' until it returns STILL_ACTIVE for the first time would be a faithful enough emulation of what 'waitpid' does here? Could you please try these techniques and see if they do the job? If they do, we can get rid of the event stuff, I think. Thanks. P.S. What's up with your copyright assignment? I still don't see it on file. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 08:16:55 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 13:16:55 +0000 Received: from localhost ([127.0.0.1]:42798 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMcac-00074Z-E9 for submit@debbugs.gnu.org; Sat, 14 Feb 2015 08:16:54 -0500 Received: from mail-ig0-f169.google.com ([209.85.213.169]:49993) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMcaa-00074L-GN for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 08:16:53 -0500 Received: by mail-ig0-f169.google.com with SMTP id hl2so23468634igb.0 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 05:16:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=I7v0Fs9eeAUpuFXfv5HCgRoHn6byqar/uXfRzwisCcE=; b=M7Dp5mCJhwvW54fMRF8+44P3A0v2F+3NJiOdahm/QqJnEmTg264JVYNhphzBznGdB/ 9udAh1lpac3lK54sFCIXXHS3sU0LP75JQPYnUGuDaSBrdEBAQYkhAd096C2Re9TQITyj PyCWEoMk7j2aQHqp3WyKeUpr19GQxbkSaq8ocP+y5ELuGFO+SZST9fuvlS7FGyaN1jpY 8Xqix8ooQ4OPSF8L7AnjCiotdCxpMaf7sa9pItmp+jDJPcqcbhDJHAIzSM0PWZsmgDE6 jQPD0XwimeZsHftORiQ/HzP5z6+sAenrRMNJ8JFcMuBHY7GV8G1UTiMRPQgldQUq50x2 5Sww== X-Gm-Message-State: ALoCoQljD1IvyltxqcdWfA+l4e1TdBW4JdIOyL6Vs6X/XrqAds+4EhkQJVdBEkFQucjxZ0wWIlcq MIME-Version: 1.0 X-Received: by 10.107.47.22 with SMTP id j22mr18702194ioo.16.1423919806820; Sat, 14 Feb 2015 05:16:46 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 05:16:46 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <8361b4y9qj.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> Date: Sat, 14 Feb 2015 22:16:46 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Feb 14, 2015 at 9:10 PM, Eli Zaretskii wrote: > Maybe I'm missing something, but I don't see a pipe being used on Unix > for synchronization between emacsclient and the daemon started by > emacsclient. Rather, on Unix we do this: > > dpid = fork (); > > if (dpid > 0) > { > pid_t w; > w = waitpid (dpid, &status, WUNTRACED | WCONTINUED); > > if ((w == -1) || !WIFEXITED (status) || WEXITSTATUS (status)) > { > message (true, "Error: Could not start the Emacs daemon\n"); > exit (EXIT_FAILURE); > } > > /* Try connecting, the daemon should have started by now. */ > message (true, "Emacs daemon should have started, trying to connect again\n"); > if ((emacs_socket = set_socket (1)) == INVALID_SOCKET) > > My reading of this is that we use 'waitpid' to tell us when the daemon > has started and is ready to receive our connection. There's no pipe > involved here, AFAICT. Am I missing something? On Unix, emacsclient forks and execs (#1) emacs --daemon, which in turn execs (#2) itself. emacsclient waits on #1, which is told when to quit via the pipe between #1 and #2, and when it quits, we know that the daemon must be ready. > My understanding is that your Windows variant of the above is to wait > on an event that is signaled by Emacs when it starts in daemon mode. > My question is: can we use something similar to Unix here, like > 'WaitForInputIdle'? After all, the above call to 'waitpid' just tells > us the daemon process is past its initialization stage, as far as the > OS is concerned, which isn't too fine-grained. Perhaps even > repeatedly calling 'GetExitCodeProcess' until it returns STILL_ACTIVE > for the first time would be a faithful enough emulation of what > 'waitpid' does here? On Windows, the Emacs process created by emacsclient initializes daemon mode itself, so neither of those would give us a way of knowing that the daemon has actually been initialized. That's why we have to use an event on Windows. In other words, the reason we can just use waitpid in emacsclient on Unix is because the act of waiting on the daemon to start is happening *between the two forked emacs children*, whereas on Windows, the waiting is happening directly between emacsclient and emacs. > P.S. What's up with your copyright assignment? I still don't see it > on file. Sorry, I sent it to copyright-clerk@fsf.org (since that's where it came from) instead of assign@gnu.org. I sent it to the latter just now. -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 08:28:43 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 13:28:43 +0000 Received: from localhost ([127.0.0.1]:42810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMcm2-0007Ko-Lv for submit@debbugs.gnu.org; Sat, 14 Feb 2015 08:28:42 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:32881) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMcm0-0007KW-Nz for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 08:28:41 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NJR00900JT3HY00@a-mtaout21.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 15:28:34 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR0092BK3LGC30@a-mtaout21.012.net.il>; Sat, 14 Feb 2015 15:28:34 +0200 (IST) Date: Sat, 14 Feb 2015 15:28:34 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83wq3kwrjx.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 14 Feb 2015 22:16:46 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > On Unix, emacsclient forks and execs (#1) emacs --daemon, which in > turn execs (#2) itself. emacsclient waits on #1, which is told when to > quit via the pipe between #1 and #2, and when it quits, we know that > the daemon must be ready. > > > My understanding is that your Windows variant of the above is to wait > > on an event that is signaled by Emacs when it starts in daemon mode. > > My question is: can we use something similar to Unix here, like > > 'WaitForInputIdle'? After all, the above call to 'waitpid' just tells > > us the daemon process is past its initialization stage, as far as the > > OS is concerned, which isn't too fine-grained. Perhaps even > > repeatedly calling 'GetExitCodeProcess' until it returns STILL_ACTIVE > > for the first time would be a faithful enough emulation of what > > 'waitpid' does here? > > On Windows, the Emacs process created by emacsclient initializes > daemon mode itself, so neither of those would give us a way of knowing > that the daemon has actually been initialized. That's why we have to > use an event on Windows. I don't see why 'WaitForInputIdle' wouldn't work. Can you explain? AFAIU, it waits until the process is idle, which means it did all the initialization and is ready for accepting connections. Am I missing something? > > P.S. What's up with your copyright assignment? I still don't see it > > on file. > > Sorry, I sent it to copyright-clerk@fsf.org (since that's where it > came from) instead of assign@gnu.org. I sent it to the latter just > now. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 08:38:03 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 13:38:04 +0000 Received: from localhost ([127.0.0.1]:42819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMcv5-0007Yr-98 for submit@debbugs.gnu.org; Sat, 14 Feb 2015 08:38:03 -0500 Received: from mail-ig0-f182.google.com ([209.85.213.182]:35293) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMcv2-0007YL-LB for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 08:38:01 -0500 Received: by mail-ig0-f182.google.com with SMTP id h15so15927812igd.3 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 05:37:55 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=7uWj9u9vmQhVRRd4y+ki1eDtHAdoOyuSfydJOrXxOdY=; b=jZr6ToaHrAaQwojIVHGXRD5JWY3xJ4PI1DS+shAW1InPJYO/Cy9el0qjgIHMkwvi5+ 2FDrJgOIREGQzwpy9/XmxVwYWSOOJtK2oNlCWwJNOzeTWZh6gEGE5dvzG0dXLGAbebw+ 7iOiOZQirHesfHdRWtbu1+/9DpogLEdIjJ75pV0CjwpEJj0235ByMrObNnPVs32cTZbe HFcFWM4hf2inKC7pnQrXqs8CCxTu0p8ot/bdC1Y5Dr72DdkvfhJs2QY9smek33i5TcHz F0UvH5GRn8+8xRMCCX+8Ck+LOd7Q+FMTiZF7ZJioGGHHGbSrGoHLry8lhyoEUjuiHpqV JBsQ== X-Gm-Message-State: ALoCoQkXZFW3agh1XefLE8fBzFv8v6qgwimN9oGa6NXzJcD/V2BiscCV1AmCV10jZddAHc09jLob MIME-Version: 1.0 X-Received: by 10.50.44.43 with SMTP id b11mr10398390igm.30.1423921075207; Sat, 14 Feb 2015 05:37:55 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 05:37:55 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <83wq3kwrjx.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> Date: Sat, 14 Feb 2015 22:37:55 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Feb 14, 2015 at 10:28 PM, Eli Zaretskii wrote: > I don't see why 'WaitForInputIdle' wouldn't work. Can you explain? > AFAIU, it waits until the process is idle, which means it did all the > initialization and is ready for accepting connections. Am I missing > something? http://blogs.msdn.com/b/oldnewthing/archive/2010/03/26/9985422.aspx I can try it if you want, but it seems fragile compared to the event thing. -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 10:24:52 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 15:24:53 +0000 Received: from localhost ([127.0.0.1]:43948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMeaS-0001kR-BB for submit@debbugs.gnu.org; Sat, 14 Feb 2015 10:24:52 -0500 Received: from mtaout24.012.net.il ([80.179.55.180]:38621) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMeaP-0001kC-2Q for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 10:24:50 -0500 Received: from conversion-daemon.mtaout24.012.net.il by mtaout24.012.net.il (HyperSendmail v2007.08) id <0NJR00I00OMUW300@mtaout24.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 17:16:24 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout24.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR00H12P3C5N30@mtaout24.012.net.il>; Sat, 14 Feb 2015 17:16:24 +0200 (IST) Date: Sat, 14 Feb 2015 17:24:42 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83r3tswm6d.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sat, 14 Feb 2015 22:37:55 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > On Sat, Feb 14, 2015 at 10:28 PM, Eli Zaretskii wrote: > > I don't see why 'WaitForInputIdle' wouldn't work. Can you explain? > > AFAIU, it waits until the process is idle, which means it did all the > > initialization and is ready for accepting connections. Am I missing > > something? > > http://blogs.msdn.com/b/oldnewthing/archive/2010/03/26/9985422.aspx Thanks, it's good to know about those subtleties. However, after looking at the Emacs initialization code, I think those problems will not affect Emacs, because we only start the thread that reads Windows messages inside the call to Frecursive_edit, and by that time the daemon initialization is already done. OTOH, there's one other caveat in the documentation of 'WaitForInputIdle': it returns immediately "if the process is a console application or does not have a message queue". Emacs is built as a console application, and I'm not sure at which point it begins to "have a message queue", as far as this function is concerned. > I can try it if you want, but it seems fragile compared to the event thing. Please do try it, I think it will either work reliably or not at all. The reason I'd prefer to use it if it works is because doing so side-steps the entire issue of how to pass the event ID, which, together with the code which handles the event, adds non-trivial amount of code to your patch. It would be nice to avoid that, if possible. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 11:34:58 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 16:34:58 +0000 Received: from localhost ([127.0.0.1]:43981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMfgG-0003M6-Tu for submit@debbugs.gnu.org; Sat, 14 Feb 2015 11:34:57 -0500 Received: from mail-ig0-f170.google.com ([209.85.213.170]:37560) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMfgE-0003Lr-6H for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 11:34:54 -0500 Received: by mail-ig0-f170.google.com with SMTP id l13so22330074iga.1 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 08:34:48 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Px7DEuZZ/3lcKNLsyK4nlJvAtLWibKTDF2lvLjRkBpw=; b=d3PEK93hyq+3Fij0tywSd+cuJsHuyvLp3bkwaj6INuuJjd0C8z/Ak8R2hPCjSxE7Zq IZ1vkal1OrR6O0UQjPO6WKmgrl5LS9tye2C/QO/sXSeOoNwghwu7dXEJHZG95/3HuwSL FgAldHirxlSiivldjTzC3t/kJgZh47e8o1o1hcIzC9Flp0whcxiFAxMLV8K5Iwg81t5J wGO6c1NGdTSrDlTyBtWTSovnvQ45LD8uGofydtE9RA5abX9RVXuzvAm+4iO60UZa0/MD ZNHF48G1Y1GXQqG8x+/MSM0v7wAyCqc8dcMYnu9DAmojXSa0VLL1xk+eoyWyCX1ppFYn qelQ== X-Gm-Message-State: ALoCoQmyMtW3HWmfZlQTZr4QrNesrWq3fzqD49yxM+DeetwYqKWn2c1ALTPY7fH4U4XvQ8eXF4vs MIME-Version: 1.0 X-Received: by 10.50.61.201 with SMTP id s9mr19198598igr.0.1423931688361; Sat, 14 Feb 2015 08:34:48 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 08:34:48 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <83r3tswm6d.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> Date: Sun, 15 Feb 2015 01:34:48 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sun, Feb 15, 2015 at 12:24 AM, Eli Zaretskii wrote: > However, after looking at the Emacs initialization code, I think those > problems will not affect Emacs, because we only start the thread that > reads Windows messages inside the call to Frecursive_edit, and by that > time the daemon initialization is already done. > > OTOH, there's one other caveat in the documentation of > 'WaitForInputIdle': it returns immediately "if the process is a > console application or does not have a message queue". Emacs is built > as a console application, and I'm not sure at which point it begins to > "have a message queue", as far as this function is concerned. > >> I can try it if you want, but it seems fragile compared to the event thing. > > Please do try it, I think it will either work reliably or not at all. > > The reason I'd prefer to use it if it works is because doing so > side-steps the entire issue of how to pass the event ID, which, > together with the code which handles the event, adds non-trivial > amount of code to your patch. It would be nice to avoid that, if > possible. I gave it a try, but it doesn't work--most likely because, as you said, Emacs is built as a console application, so WaitForInputIdle simply returns immediately because of the race between emacsclient attempting to wait on Emacs and Emacs establishing a Windows message queue. So, the options are either using an event or modifying Emacs to run under the Windows subsystem--I don't think I need to tell you which one is the less invasive change. :) -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 11:53:41 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 16:53:41 +0000 Received: from localhost ([127.0.0.1]:44022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMfyP-0003mr-ER for submit@debbugs.gnu.org; Sat, 14 Feb 2015 11:53:41 -0500 Received: from mtaout21.012.net.il ([80.179.55.169]:39397) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMfyM-0003md-J5 for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 11:53:39 -0500 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NJR00A00SUU3N00@a-mtaout21.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 18:53:30 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR00AAKTL61U60@a-mtaout21.012.net.il>; Sat, 14 Feb 2015 18:53:30 +0200 (IST) Date: Sat, 14 Feb 2015 18:53:31 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83iof4wi2c.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 15 Feb 2015 01:34:48 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > I gave it a try, but it doesn't work--most likely because, as you > said, Emacs is built as a console application, so WaitForInputIdle > simply returns immediately because of the race between emacsclient > attempting to wait on Emacs and Emacs establishing a Windows message > queue. No, I think it returns immediately, period. As I wrote, when Emacs establishes the input queue, it's already way past the daemon initialization. > So, the options are either using an event or modifying Emacs to > run under the Windows subsystem--I don't think I need to tell you > which one is the less invasive change. :) The latter is not invasive, it simply cannot be done without losing some very valuable features. So it's out of the question. Back to the event-based method: is using a named event with a fixed name workable? That is, is a situation imaginable where we would need more than one event at the same time on the same system? If a single event is enough, I think a named event with a name specific to Emacs (but not a GUID) is a better alternative. Otherwise, we will have to pass the handle via the command line; using the environment is not an idea I like, because it means complications: possible conflict with other variables, possible overflow of the 32K limit on environment variables, possible conflicts in nested invocations, etc. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 11:58:08 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 16:58:08 +0000 Received: from localhost ([127.0.0.1]:44046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMg2h-0003u1-7W for submit@debbugs.gnu.org; Sat, 14 Feb 2015 11:58:07 -0500 Received: from mail-ig0-f179.google.com ([209.85.213.179]:34034) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMg2e-0003tW-Rm for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 11:58:05 -0500 Received: by mail-ig0-f179.google.com with SMTP id l13so16477253iga.0 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 08:57:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=NKNKuBHda2SHzuP3cXuTkAwpOwzKcPpC+jQa47pJAng=; b=a2z9BQKo4oUfaPUE4aX7/AaBpFjrkjGTAJEzj+TTH9cNczcasAT2wbwxvR0R/0qTfy 5tOz4VYjj1xmEhVFODl13rTgD+jdpl6pHiSoJNkkviKIoE2AiCxsN9/C/9ZHJqZtr/zN OtVaBT8TRtnwHyGEs3zEU5ScfPHBsvd+9LR9VaMKMCnUfVRiFm/BHi85vg9HyiaeBqNT cyG02qnMi76ReBvwPEm063/1MknTeKbLmLYA0CSjtf+kGlIIzr8IVWNChdcRUmSSsO8W iG7m0mI4+x5p+ph/IljioS1YvTFTZ8bA/Yz0Nd0Bh9HxhAFq4Hr5r9Kq1oZaDr+A7Dhi yvRQ== X-Gm-Message-State: ALoCoQm221Rhrt+zCKF4Cx2SnQCLS5JVQkzR6UVZGza4GGUdOZ1ObI1e0giY1bjampDwR8a+mojI MIME-Version: 1.0 X-Received: by 10.43.55.84 with SMTP id vx20mr20763714icb.62.1423933079031; Sat, 14 Feb 2015 08:57:59 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 08:57:58 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <83iof4wi2c.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> Date: Sun, 15 Feb 2015 01:57:58 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sun, Feb 15, 2015 at 1:53 AM, Eli Zaretskii wrote: > Back to the event-based method: is using a named event with a fixed > name workable? That is, is a situation imaginable where we would need > more than one event at the same time on the same system? Even with multiple users logged in (the RDP/Terminal Services case), using the same event name won't cause a problem. > If a single event is enough, I think a named event with a name > specific to Emacs (but not a GUID) is a better alternative. > Otherwise, we will have to pass the handle via the command line; using > the environment is not an idea I like, because it means complications: > possible conflict with other variables, possible overflow of the 32K > limit on environment variables, possible conflicts in nested > invocations, etc. A single event will be fine, so I would suggest going with the named event for the reasons you just gave. The code is much simpler that way too. -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 12:24:05 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 17:24:05 +0000 Received: from localhost ([127.0.0.1]:44084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgRp-0004Ut-Ip for submit@debbugs.gnu.org; Sat, 14 Feb 2015 12:24:05 -0500 Received: from mtaout22.012.net.il ([80.179.55.172]:44129) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgRn-0004UO-6N for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 12:24:04 -0500 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0NJR00000UZI0H00@a-mtaout22.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 19:23:56 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR00MQKUZWNMB0@a-mtaout22.012.net.il>; Sat, 14 Feb 2015 19:23:56 +0200 (IST) Date: Sat, 14 Feb 2015 19:23:57 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83egpswgnm.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 15 Feb 2015 01:57:58 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > A single event will be fine, so I would suggest going with the named > event for the reasons you just gave. The code is much simpler that way > too. OK, so please let's see a patch along these lines, with all the previous comments incorporated. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 12:31:01 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 17:31:02 +0000 Received: from localhost ([127.0.0.1]:44088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgYX-0004fG-Au for submit@debbugs.gnu.org; Sat, 14 Feb 2015 12:31:01 -0500 Received: from mail-ie0-f182.google.com ([209.85.223.182]:41246) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgYW-0004ey-2T for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 12:31:00 -0500 Received: by iecrd18 with SMTP id rd18so26188784iec.8 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 09:30:54 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=w3XeOlwVQXAM18mkw6Sz1ozwWcMyzfH7/ae8SITlXZ0=; b=R9ph0at6xhHeyN985GJLVglgiYD/L1b3HCzZiOc3iP6haYcrCQ7mRF8jLvXHrmxY6q MCxsOsIupW7lPO4BEWoNdkWhigwXKvPr9LtzU6Ne/jNbqxNmhojhOeMo2XeyBMomnIJ1 aHMUH+F+63zVCbd2wsfvLBPbyCDuhNJ+1AdX6BauKQ1wnt6mcElMOITGRLnhOg6LLnZ+ v1Zlh2j0sDwlI2AtTmbOU+O1cOT9PIKyT7qfeO86A5KZB9QHodywlMMEaG8mNoCsXE6b ZRp3oEHNs2jjRDR3BJlEhUZlKwvRX30yDU7+vSBEzsM5BNNFlGtWvErEu3/+eL7igT/8 a0uw== X-Gm-Message-State: ALoCoQmQNIjpRT/uiPWSM4zvWlPnTfkTnthYEM0K5ex38TukJz+8MNX7XZ+2uA+DEIOt73V6yyef MIME-Version: 1.0 X-Received: by 10.50.93.70 with SMTP id cs6mr11554272igb.6.1423935054624; Sat, 14 Feb 2015 09:30:54 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 09:30:54 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <83egpswgnm.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> Date: Sun, 15 Feb 2015 02:30:54 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sun, Feb 15, 2015 at 2:23 AM, Eli Zaretskii wrote: > OK, so please let's see a patch along these lines, with all the > previous comments incorporated. It's here, attached as "emacs-windows-daemon-namedev.patch": http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19688#20 -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 12:42:28 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 17:42:28 +0000 Received: from localhost ([127.0.0.1]:44096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgjc-0004vJ-Av for submit@debbugs.gnu.org; Sat, 14 Feb 2015 12:42:28 -0500 Received: from mtaout29.012.net.il ([80.179.55.185]:59421) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgja-0004v2-03 for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 12:42:27 -0500 Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NJR00G00VN49000@mtaout29.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 19:38:22 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR00BZ9VNYNU40@mtaout29.012.net.il>; Sat, 14 Feb 2015 19:38:22 +0200 (IST) Date: Sat, 14 Feb 2015 19:42:20 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83bnkwwfsz.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 15 Feb 2015 02:30:54 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > On Sun, Feb 15, 2015 at 2:23 AM, Eli Zaretskii wrote: > > OK, so please let's see a patch along these lines, with all the > > previous comments incorporated. > > It's here, attached as "emacs-windows-daemon-namedev.patch": > > http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19688#20 OK, I have only one comment to that: why did you need to make part of daemon-initialized a separate function? In general, it looks to me that we should make a separate implementation of daemon-initialized for Windows, and put it on one of the w32*.c files. Other than that, we are waiting for your assignment. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 12:57:20 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 17:57:20 +0000 Received: from localhost ([127.0.0.1]:44116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgy0-0005Ga-9O for submit@debbugs.gnu.org; Sat, 14 Feb 2015 12:57:20 -0500 Received: from mail-ie0-f177.google.com ([209.85.223.177]:38526) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMgxy-0005GN-TH for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 12:57:19 -0500 Received: by iecrd18 with SMTP id rd18so26315675iec.5 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 09:57:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=68ft9UiAAFJavrbmo1E86GgV8SBrapYeVIydYpAamJc=; b=KRZLN3xHku9tY0Wgio5bxgpdXqWtCXsFg9OycOTKB8OG/dHolzl5q9rCkLL+Xyb+rr fbOobNsX0BU1oR1UYKn/BhV2J/XDmPstc9F47Qn4V8UzLPMziO8AaftfuLoJujeKU4gy CZVOB8oC8DKhtyHDfjCTLjk9qS4J4SQB9J41vwynzloVG0bdDL5WSCJXpXGiEQr9BxXh 8anNsP8cnNav9RPTfqCR0R5GWOXt0B95X53CybyEnLsKPeTVMj1aUHYZAeMfZMjipF1I YUvmuB+AgF886hLTtfc/MA5LpAF00leDhdCN4m9EAHngmS19vYpc+wAZYh5J9c9uN/I+ cKuQ== X-Gm-Message-State: ALoCoQkolWuLid0z6oEKjVfz0XAQHNxuTv8J1A+3/9UQWIvVTP4s6rvV1z34mzmvnZeJgNQOOgMc MIME-Version: 1.0 X-Received: by 10.107.47.22 with SMTP id j22mr20200388ioo.16.1423936633118; Sat, 14 Feb 2015 09:57:13 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 09:57:13 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <83bnkwwfsz.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> Date: Sun, 15 Feb 2015 02:57:13 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sun, Feb 15, 2015 at 2:42 AM, Eli Zaretskii wrote: > OK, I have only one comment to that: why did you need to make part of > daemon-initialized a separate function? That was because of the pre-C99 concern I mentioned earlier in the thread, but since you said emacs-25 will require a C99-compliant compiler, it shouldn't be necessary. However, see my next comment. > In general, it looks to me that we should make a separate > implementation of daemon-initialized for Windows, and put it on one of > the w32*.c files. Given that the Windows implementation of the function is three lines long and consists solely of side effects that are already localized to emacs.c, I think it's much clearer to keep it as-is. > Other than that, we are waiting for your assignment. OK. It should be waiting for whoever reads assign@gnu.org. -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 13:26:59 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 18:26:59 +0000 Received: from localhost ([127.0.0.1]:44137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMhQh-0005xC-FD for submit@debbugs.gnu.org; Sat, 14 Feb 2015 13:26:59 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:55558) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMhQf-0005ww-5e for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 13:26:58 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NJR00M00XJAOI00@a-mtaout20.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 20:26:50 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJR00M2MXWQPT00@a-mtaout20.012.net.il>; Sat, 14 Feb 2015 20:26:50 +0200 (IST) Date: Sat, 14 Feb 2015 20:26:51 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <838ug0wdqs.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 15 Feb 2015 02:57:13 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > > In general, it looks to me that we should make a separate > > implementation of daemon-initialized for Windows, and put it on one of > > the w32*.c files. > > Given that the Windows implementation of the function is three lines > long and consists solely of side effects that are already localized to > emacs.c, I think it's much clearer to keep it as-is. Length of the function is not my concern. The concern is to keep stuff that needs windows.h confined to w32*.c source files. It's true that currently emacs.c already includes windows.h indirectly, but I'd like to keep that to a bare minimum. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 14:21:29 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 19:21:29 +0000 Received: from localhost ([127.0.0.1]:44173 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMiHQ-0007C0-9v for submit@debbugs.gnu.org; Sat, 14 Feb 2015 14:21:28 -0500 Received: from mail-ie0-f169.google.com ([209.85.223.169]:35402) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMiHO-0007Bm-BJ for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 14:21:27 -0500 Received: by iecrl12 with SMTP id rl12so24177499iec.2 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 11:21:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=sXiI9G+lEBEq8He2kJpp7/qPXjU76CoV39M41JYmQwM=; b=LPhwSmTI/lJR63EM4DkVrFsJ7VHRc5bK08vNr8MgHPpgqMlZhI2Uein+H14ScgtAP9 CynSszup1sCM1jTno0dbbcOSPzp0m6o961zZtljDs1Nrr8VXaPKIKdisa16x6+I5QQNp ToAcKxSSv9DSsM5kQ8E+dA5rx5qv/5p82CksnSWPAqksWFHnMU0J5u3yTPkz9CSj+5Og ByrwDj28huK/xwCOYQ2yMXqF6x4sfHdBdgn27HVKM/uhkrdIJzm/eOhMJlIp3Y/j6NN9 FFi3iC6d4vh1UuyqsBfs88eS7vazHiPI0ct5Jpyq07HJGS3Q9r3hkLoyhE2bgclkfFAi d3WQ== X-Gm-Message-State: ALoCoQkBHkp3kbtFXn1JB+0TQlb2/Ea0s8SeQU6KQOjC5j62ZpltXe6uDNy4FiqZP+ziRuIPKJ11 MIME-Version: 1.0 X-Received: by 10.50.124.133 with SMTP id mi5mr12408238igb.13.1423941680717; Sat, 14 Feb 2015 11:21:20 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 11:21:20 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <838ug0wdqs.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> Date: Sun, 15 Feb 2015 04:21:20 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sun, Feb 15, 2015 at 3:26 AM, Eli Zaretskii wrote: > Length of the function is not my concern. The concern is to keep > stuff that needs windows.h confined to w32*.c source files. It's true > that currently emacs.c already includes windows.h indirectly, but I'd > like to keep that to a bare minimum. Ah, I see. In that case,the best place for this appears to be w32.c. Do you want to move it or should I submit another patch? -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 14:29:40 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 19:29:41 +0000 Received: from localhost ([127.0.0.1]:44181 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMiPM-0007NJ-7l for submit@debbugs.gnu.org; Sat, 14 Feb 2015 14:29:40 -0500 Received: from mtaout23.012.net.il ([80.179.55.175]:46206) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMiPJ-0007N3-RR for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 14:29:38 -0500 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NJS009000KQL700@a-mtaout23.012.net.il> for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 21:29:31 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJS009UA0T5JJ30@a-mtaout23.012.net.il>; Sat, 14 Feb 2015 21:29:29 +0200 (IST) Date: Sat, 14 Feb 2015 21:29:30 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83zj8guw9x.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 15 Feb 2015 04:21:20 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > On Sun, Feb 15, 2015 at 3:26 AM, Eli Zaretskii wrote: > > Length of the function is not my concern. The concern is to keep > > stuff that needs windows.h confined to w32*.c source files. It's true > > that currently emacs.c already includes windows.h indirectly, but I'd > > like to keep that to a bare minimum. > > Ah, I see. In that case,the best place for this appears to be w32.c. > Do you want to move it or should I submit another patch? It's up to you. It's no big deal either way. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 14 16:15:33 2015 Received: (at 19688) by debbugs.gnu.org; 14 Feb 2015 21:15:33 +0000 Received: from localhost ([127.0.0.1]:44213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMk3o-0001L8-Gc for submit@debbugs.gnu.org; Sat, 14 Feb 2015 16:15:32 -0500 Received: from mail-ig0-f171.google.com ([209.85.213.171]:44776) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMk3m-0001Ku-O3 for 19688@debbugs.gnu.org; Sat, 14 Feb 2015 16:15:31 -0500 Received: by mail-ig0-f171.google.com with SMTP id h15so17033612igd.4 for <19688@debbugs.gnu.org>; Sat, 14 Feb 2015 13:15:25 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=DsdQHNcA72pq8juazrrWWCrH6bpcRogfmGkV3f1Dq94=; b=B+/TSVZsYgnMtPh0XHDCzK+fzjohFuCN+0vW7cmMMXGz4XaBtElHd3t5rcdVeyupVc Zc22vUzqoWF9eHKwT5Gptf96TN2t77CFkePtoui4M7NLxNlJPvpGuflWVb3sAhohWs60 wgy2QIj5ny/D/y4aaMh3K+yyofeajGrGD8GEtkt83Dxcuet2eUUOkUzYnFqB8OZO9qSW F0RdS5eUVkpe5p7EtK7Cw6kmhYi/9hxIJ8szQqjS7+PSsj9cEUGbftv8DsspEoBRx57v ltnMjxhuRGG0ewTSE3RKjnNMs5hoRfsmhUDMIt7IMeySWU1FD3fGOGZaUqfCGgZ1b24j k+kw== X-Gm-Message-State: ALoCoQk2LpGIE68RgQ3WtyHcBdcMgFfj2gpFwvdM5BdP1HkS7242QI4QVmhzeN6b6KSQWG9kBkih MIME-Version: 1.0 X-Received: by 10.107.170.8 with SMTP id t8mr6148408ioe.7.1423948524958; Sat, 14 Feb 2015 13:15:24 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 14 Feb 2015 13:15:24 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <83zj8guw9x.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> <83zj8guw9x.fsf@gnu.org> Date: Sun, 15 Feb 2015 06:15:24 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sun, Feb 15, 2015 at 4:29 AM, Eli Zaretskii wrote: > It's up to you. It's no big deal either way. Well, we'd need to also split the Windows part of daemon_check_preconditions into a one-line function just to avoid having INVALID_HANDLE_VALUE in emacs.c: #ifdef WINDOWSNT /* IS_DAEMON above already checks that w32_daemon_event != NULL, so only check that we successfully started the daemon here. */ if (w32_daemon_event == INVALID_HANDLE_VALUE) #else if (daemon_pipe[1] < 0 ) #endif ...and we'd have to move the code earlier in the file that calls CreateEvent. Also, since w32.c seems to mostly be a place for utility functions (it does not contain state variables), and the Unix daemon_pipe stuff is in emacs.c, it would be weird to put the Windows daemon variable in a completely different place. Basically, it doesn't really seem worth complicating the general flow of emacs.c for the sake of moving a few Windows-isms when w32.h is already included anyway--not to mention, there's already other OS-specific code throughout the file. Sorry if I've misinterpreted you, i.e. if what you meant was "please just move the Windows junk to w32.c", in which case I'll get on it later today. But otherwise, I think the current patch makes the code easier to follow. -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 19 11:31:21 2015 Received: (at 19688) by debbugs.gnu.org; 19 Feb 2015 16:31:21 +0000 Received: from localhost ([127.0.0.1]:48785 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YOU0S-0003ib-8T for submit@debbugs.gnu.org; Thu, 19 Feb 2015 11:31:21 -0500 Received: from mail-ig0-f173.google.com ([209.85.213.173]:62004) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YOU0L-0003iP-Nq for 19688@debbugs.gnu.org; Thu, 19 Feb 2015 11:31:14 -0500 Received: by mail-ig0-f173.google.com with SMTP id a13so45321749igq.0 for <19688@debbugs.gnu.org>; Thu, 19 Feb 2015 08:31:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=KaKx0JkI/DS2mxXYfJMPJohcBuTQQ77gIsOoqqMCREI=; b=Pr7qroVJT2EQC1/Z20i7pq3ZNARKvWnT1gnNWrXrLCDKMStDFFi9DVTZibmit0mQ56 Goy4wU+WKRAJ70T0tRluPjDAylRHdTbswPWhXtDtTCO7kX6oSm3JxdKFBXWScwKuDciG K7XrtCv0loIunKoLAhccomX9jNTneJy4xM/fPtlfgYhDjoQQg8pxNmiDPl/9+wj2+CMy kiDtcB3R5CS1lhjvWCr/oLHRRIqgk3dJ9Nyve3dXVzgq8qxnrYWp7COwAr3Cp8FN1/VO afQLrCI/EyBd92WED741WpzLGPrcyyYuM+2GqtfN+gdNBE9C+9/9jBFA8YnXpjTQhtpn AKpQ== X-Gm-Message-State: ALoCoQkvDG51Qxkb8phZBedhfStl4+A/eMOac6kpBjWaONb8mGy7ZZcZYAQMz8x6WFGNS1NAX2hu MIME-Version: 1.0 X-Received: by 10.107.170.8 with SMTP id t8mr7243407ioe.7.1424363468827; Thu, 19 Feb 2015 08:31:08 -0800 (PST) Received: by 10.36.65.195 with HTTP; Thu, 19 Feb 2015 08:31:08 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> <83zj8guw9x.fsf@gnu.org> Date: Fri, 20 Feb 2015 01:31:08 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) FYI, I just received notice of completion of my assignment. -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 19 11:57:25 2015 Received: (at 19688) by debbugs.gnu.org; 19 Feb 2015 16:57:25 +0000 Received: from localhost ([127.0.0.1]:48794 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YOUPh-0004JM-DA for submit@debbugs.gnu.org; Thu, 19 Feb 2015 11:57:25 -0500 Received: from mtaout28.012.net.il ([80.179.55.184]:40681) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YOUPf-0004JC-1y for 19688@debbugs.gnu.org; Thu, 19 Feb 2015 11:57:19 -0500 Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0NK100G002PQ0N00@mtaout28.012.net.il> for 19688@debbugs.gnu.org; Thu, 19 Feb 2015 18:54:52 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NK100BOV2ZG2Z50@mtaout28.012.net.il>; Thu, 19 Feb 2015 18:54:52 +0200 (IST) Date: Thu, 19 Feb 2015 18:56:45 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83oaop3kmq.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> <83zj8guw9x.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Fri, 20 Feb 2015 01:31:08 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > FYI, I just received notice of completion of my assignment. Thanks, I will install in a day or two. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 21 08:03:48 2015 Received: (at 19688) by debbugs.gnu.org; 21 Feb 2015 13:03:49 +0000 Received: from localhost ([127.0.0.1]:49911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YP9im-0005ek-Km for submit@debbugs.gnu.org; Sat, 21 Feb 2015 08:03:48 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:62336) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YP9ik-0005eb-08 for 19688@debbugs.gnu.org; Sat, 21 Feb 2015 08:03:47 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NK400I00HJLCR00@a-mtaout20.012.net.il> for 19688@debbugs.gnu.org; Sat, 21 Feb 2015 15:03:44 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NK400IYEHM743E0@a-mtaout20.012.net.il>; Sat, 21 Feb 2015 15:03:44 +0200 (IST) Date: Sat, 21 Feb 2015 15:03:44 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: <83oaop3kmq.fsf@gnu.org> X-012-Sender: halo1@inter.net.il To: mdl@60hz.org Message-id: <83fv9zct73.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> <83zj8guw9x.fsf@gnu.org> <83oaop3kmq.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Thu, 19 Feb 2015 18:56:45 +0200 > From: Eli Zaretskii > Cc: 19688@debbugs.gnu.org > > > Date: Fri, 20 Feb 2015 01:31:08 +0900 > > From: Mark Laws > > Cc: 19688@debbugs.gnu.org > > > > FYI, I just received notice of completion of my assignment. > > Thanks, I will install in a day or two. Can you provide some simple test I could run after applying, to make sure everything works as intended? From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 21 14:30:38 2015 Received: (at 19688) by debbugs.gnu.org; 21 Feb 2015 19:30:38 +0000 Received: from localhost ([127.0.0.1]:50384 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YPFl5-00072w-PH for submit@debbugs.gnu.org; Sat, 21 Feb 2015 14:30:37 -0500 Received: from mail-ig0-f171.google.com ([209.85.213.171]:39257) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YPFl0-00072i-Da for 19688@debbugs.gnu.org; Sat, 21 Feb 2015 14:30:32 -0500 Received: by mail-ig0-f171.google.com with SMTP id h15so10221363igd.4 for <19688@debbugs.gnu.org>; Sat, 21 Feb 2015 11:30:29 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=ZfroAkA6fCAdhk5WED2CBUK9in+A9wlAGkj/D/pgka0=; b=erneij8Q1gutASHx3cEx84gnTL0X/wL5ratu3YrjIbIdsutV/kADnCJyz8yVDgyoV/ ThuwnuMTS2v15qzmFHJxcwCOQtSZCOKS5DTucGw+gbmldJgJgWOTXFoQLAN/j9IV4RFC /Qx9yh75ITL/eYdKlQjZ0UaRfuz9L6MrPITY29hXh7DQ2EhxsaJfFcVFyDOi/m1Mwx01 HVwsPU3wp/s4FGxfmdTo9BcTLEReug+nOtIJCDZlp0qDVFmxQ6l6SJPMQ7xcmPyvmy9l JIO5/Pv64i/Rolqz03LspbIe29NTz3tE56sGor5kyVDhCRIxPSQhyH8voLVwSt0z2YHv V9kA== X-Gm-Message-State: ALoCoQkK5AXRs8+JEukKWiffe1LHZsFkONfgoVVvAAA4ibxFawkHrefM1cvP90L30Yso7mVxStso MIME-Version: 1.0 X-Received: by 10.42.229.10 with SMTP id jg10mr4048554icb.62.1424547029521; Sat, 21 Feb 2015 11:30:29 -0800 (PST) Received: by 10.36.65.195 with HTTP; Sat, 21 Feb 2015 11:30:29 -0800 (PST) X-Originating-IP: [219.102.234.58] In-Reply-To: <83fv9zct73.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> <83zj8guw9x.fsf@gnu.org> <83oaop3kmq.fsf@gnu.org> <83fv9zct73.fsf@gnu.org> Date: Sun, 22 Feb 2015 04:30:29 +0900 Message-ID: Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows From: Mark Laws To: Eli Zaretskii Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 19688 Cc: 19688@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Sat, Feb 21, 2015 at 10:03 PM, Eli Zaretskii wrote: > Can you provide some simple test I could run after applying, to make > sure everything works as intended? $ emacsclient -ca "" Should launch Emacs if it's not already running, and connect to an existing Emacs process if it is. Try doing it a few times in a row to make sure both cases work and that the double-free issue doesn't happen (I have no reason to believe it would, but just in case). -- |v\ /\ |\ |< |_ /\ \^| // From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 27 09:26:18 2015 Received: (at 19688-done) by debbugs.gnu.org; 27 Feb 2015 14:26:18 +0000 Received: from localhost ([127.0.0.1]:59611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YRLrt-0003kk-5h for submit@debbugs.gnu.org; Fri, 27 Feb 2015 09:26:17 -0500 Received: from mtaout20.012.net.il ([80.179.55.166]:53084) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YRLrp-0003kT-IJ for 19688-done@debbugs.gnu.org; Fri, 27 Feb 2015 09:26:15 -0500 Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NKF00800P69E300@a-mtaout20.012.net.il> for 19688-done@debbugs.gnu.org; Fri, 27 Feb 2015 16:26:06 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NKF0081YPFIEK10@a-mtaout20.012.net.il>; Fri, 27 Feb 2015 16:26:06 +0200 (IST) Date: Fri, 27 Feb 2015 16:26:24 +0200 From: Eli Zaretskii Subject: Re: bug#19688: [patch] add support for emacs daemon on Windows In-reply-to: X-012-Sender: halo1@inter.net.il To: Mark Laws Message-id: <83385r5t2n.fsf@gnu.org> References: <83h9ver459.fsf@gnu.org> <83d262qdx6.fsf@gnu.org> <54C62B6C.3050608@dancol.org> <834mr8n5or.fsf@gnu.org> <83pp9e42n8.fsf@gnu.org> <8361b4y9qj.fsf@gnu.org> <83wq3kwrjx.fsf@gnu.org> <83r3tswm6d.fsf@gnu.org> <83iof4wi2c.fsf@gnu.org> <83egpswgnm.fsf@gnu.org> <83bnkwwfsz.fsf@gnu.org> <838ug0wdqs.fsf@gnu.org> <83zj8guw9x.fsf@gnu.org> <83oaop3kmq.fsf@gnu.org> <83fv9zct73.fsf@gnu.org> X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 19688-done Cc: 19688-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Eli Zaretskii List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) > Date: Sun, 22 Feb 2015 04:30:29 +0900 > From: Mark Laws > Cc: 19688@debbugs.gnu.org > > On Sat, Feb 21, 2015 at 10:03 PM, Eli Zaretskii wrote: > > Can you provide some simple test I could run after applying, to make > > sure everything works as intended? > > $ emacsclient -ca "" > > Should launch Emacs if it's not already running, and connect to an > existing Emacs process if it is. Try doing it a few times in a row to > make sure both cases work and that the double-free issue doesn't > happen (I have no reason to believe it would, but just in case). Thanks. I pushed the changes, with slight variations to make them less pervasive where possible, as commit 805fe50 on the master branch. I then followed that up with the few necessary changes in the documentation and in NEWS, as should happen with every user-visible change. Thanks again for working on this, and sorry for delays in landing this on master. I'm closing the bug. From unknown Sun Aug 17 09:11:15 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 28 Mar 2015 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator