From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aaron Jensen Newsgroups: gmane.emacs.devel Subject: Re: master 2c79a8f 2/2: Use posix_spawn if possible. Date: Mon, 8 Nov 2021 06:00:39 -0500 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000e7fef705d044e706" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10660"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , Alan Third , YAMAMOTO Mitsuharu To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Nov 08 12:11:30 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mk2Yk-0002d5-CB for ged-emacs-devel@m.gmane-mx.org; Mon, 08 Nov 2021 12:11:30 +0100 Original-Received: from localhost ([::1]:46850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mk2Yj-0002rr-Ao for ged-emacs-devel@m.gmane-mx.org; Mon, 08 Nov 2021 06:11:29 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:33282) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mk2Vt-0007sk-DH for emacs-devel@gnu.org; Mon, 08 Nov 2021 06:08:33 -0500 Original-Received: from [2607:f8b0:4864:20::231] (port=44994 helo=mail-oi1-x231.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mk2Vr-00029G-UX; Mon, 08 Nov 2021 06:08:33 -0500 Original-Received: by mail-oi1-x231.google.com with SMTP id be32so4569139oib.11; Mon, 08 Nov 2021 03:08:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to:cc; bh=8aBjnS/+6k/HJTXiVPZYVXKCJ70zO2yJtD12KGlh+RI=; b=lNhQbobwUmd7SIOFA1qs56YM3CY8kluI+K3QE4Z7h+pjHyAiKQjYETZCX4pFYqwG6I K32DdJAb/iIjrylZmpuq5y3tmEAG/oZyDISxETmD6SensMWE16vNHLcdYUn0B4NHZQ/Z Fw7R1Mvjb53+uYcyDJ2olanEo3dhECV6H6ezRGcLU5a/4bQylri4gBngn8K37Q8uIGW9 BchNfHYduvS1onZAWzib5gIFNHn5GL5wpG2G4IrLI8XZ1kneO3LpmqP0ixA03xkrlFg9 +h6cj+P3A14p8HetS7Zd6p1wjzfrcYw1y0diu51ZHzuZsnRV7g5I9fpmMOkpxhwXxy1t aG/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=8aBjnS/+6k/HJTXiVPZYVXKCJ70zO2yJtD12KGlh+RI=; b=ptTKe8r6RpI8ibZKBjfIubkdB5dqzJtwfRxoIGAgx22NKqsrui2pnL0JyBpACVucZ6 buWe5OJ/qH4lLNpNvH6mgnZdQ1UPm38Ob5FGa5MaTjfIh5s2p9VMdsrs0xaL83bKj+OD TXyREUZBCqCbqemMagSnT9XBjOn4nYTpasIVtKXTQ591njGPUV3bk3k8RdGxGpVTf702 g1i5tvrrv08RTsb2+ilGL+rED5ix5/5YLda0N2E90+5p/kme4OtGqREaLmkG3AKfe5at HTJcgS8GyIuxxrHfGTfGLbvJRn3nV/CMMpnXFTdhKjaaRtJu4LcHvxDZENzI/cPuWlD9 cV5g== X-Gm-Message-State: AOAM531AC3dKoI0DOdWEQHTyhXk2u/6z17XHJmSLOf5fOLPPc/eN+udP pQYy7NhuFjJB5Cu7GBQNBy1Ob9jUKJMIK6oNduEq0VsK4jM= X-Google-Smtp-Source: ABdhPJxz94ks3alu3AaSaHEkq6rqw/b4T17YSQ0zKC3loRFjMo8iWb5teUuTKxr+k3ttgjZvNjgD4xlXeGohikbKddk= X-Received: by 2002:a17:90a:c78f:: with SMTP id gn15mr51097222pjb.54.1636369250635; Mon, 08 Nov 2021 03:00:50 -0800 (PST) X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::231 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::231; envelope-from=aaronjensen@gmail.com; helo=mail-oi1-x231.google.com X-Spam_score_int: 1 X-Spam_score: 0.1 X-Spam_bar: / X-Spam_report: (0.1 / 5.0 requ) BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:279033 Archived-At: --000000000000e7fef705d044e706 Content-Type: text/plain; charset="UTF-8" Hi all, Attached is the posix spawn patch adapted to be only effective on Darwin. I chose to leave the patch as-is aside from adding the additional conditional, but let me know if I should do something different. It wasn't clear where things stood in terms of whether or not we would ever want to use posix_spawn on non-darwin OSes. Thanks, Aaron --000000000000e7fef705d044e706 Content-Type: application/octet-stream; name="0001-Use-posix_spawn-if-possible-on-Darwin.patch" Content-Disposition: attachment; filename="0001-Use-posix_spawn-if-possible-on-Darwin.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kvqjxpdy0 RnJvbSA4MDU1YjQyYzYwYjQxNzg3MDcwNzRjMmRmYjQ1MzBhZWI5MjZjNTlkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBYXJvbiBKZW5zZW4gPGFhcm9uamVuc2VuQGdtYWlsLmNvbT4K RGF0ZTogTW9uLCA4IE5vdiAyMDIxIDA1OjM4OjExIC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gVXNl IHBvc2l4X3NwYXduIGlmIHBvc3NpYmxlIG9uIERhcndpbi4KCnBvc2l4X3NwYXduIGlzIGxlc3Mg ZXJyb3ItcHJvbmUgdGhhbiB2Zm9yayArIGV4ZWN2ZSwgYW5kIGNhbiBtYWtlCmJldHRlciB1c2Ug b2Ygc3lzdGVtLXNwZWNpZmljIGVuaGFuY2VtZW50cyBsaWtlICdjbG9uZScgb24gTGludXguICBV c2UKaXQgaWYgd2UgZG9uJ3QgbmVlZCB0byBjb25maWd1cmUgYSBwc2V1ZG90ZXJtaW5hbC4KCiog Y29uZmlndXJlLmFjIChIQVZFX1NQQVdOX0gsIEhBVkVfUE9TSVhfU1BBV04pCihIQVZFX1BPU0lY X1NQQVdOX0ZJTEVfQUNUSU9OU19BRERDSERJUikKKEhBVkVfUE9TSVhfU1BBV05fRklMRV9BQ1RJ T05TX0FERENIRElSX05QKQooSEFWRV9QT1NJWF9TUEFXTkFUVFJfU0VURkxBR1MsIEhBVkVfREVD TF9QT1NJWF9TUEFXTl9TRVRTSUQpOiBOZXcKY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuCiogc3Jj L2NhbGxwcm9jLmMgKFVTQUJMRV9QT1NJWF9TUEFXTik6IE5ldyBjb25maWd1cmF0aW9uIG1hY3Jv LgooZW1hY3NfcG9zaXhfc3Bhd25faW5pdF9hY3Rpb25zKQooZW1hY3NfcG9zaXhfc3Bhd25faW5p dF9hdHRyaWJ1dGVzLCBlbWFjc19wb3NpeF9zcGF3bl9pbml0KTogTmV3CmhlbHBlciBmdW5jdGlv bnMuCihlbWFjc19zcGF3bik6IFVzZSBwb3NpeF9zcGF3biBpZiBwb3NzaWJsZS4KCk9yaWdpbmFs bHkgYXV0aG9yZWQgYnk6IFBoaWxpcHAgU3RlcGhhbmkgPHBoc3RAZ29vZ2xlLmNvbT4KLS0tCiBj b25maWd1cmUuYWMgICB8ICAxNyArKysrKwogc3JjL2NhbGxwcm9jLmMgfCAxOTQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2Vk LCAyMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy ZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAzM2U3MDM3YWZlLi5jMjMxYzJjZWFlIDEwMDY0NAot LS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC00NzcxLDYgKzQ3NzEsMjMg QEAgQUNfREVGVU4KIGRubCB0aGUgY3VycmVudCBDRkxBR1MgZXRjLgogQUNfQ0hFQ0tfRlVOQ1Mo c25wcmludGYpCiAKK2RubCBwb3NpeF9zcGF3bi4gIFRoZSBjaGRpciBhbmQgc2V0c2lkIGZ1bmN0 aW9uYWxpdHkgaXMgcmVsYXRpdmVseQorZG5sIHJlY2VudCwgc28gd2UgY2hlY2sgZm9yIGl0IHNw ZWNpZmljYWxseS4KK0FDX0NIRUNLX0hFQURFUlMoW3NwYXduLmhdKQorQUNfU1VCU1QoW0hBVkVf U1BBV05fSF0pCitBQ19DSEVDS19GVU5DUyhbcG9zaXhfc3Bhd24gXAorICAgICAgICAgICAgICAg IHBvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19hZGRjaGRpciBcCisgICAgICAgICAgICAgICAgcG9z aXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGNoZGlyX25wIFwKKyAgICAgICAgICAgICAgICBwb3Np eF9zcGF3bmF0dHJfc2V0ZmxhZ3NdKQorQUNfU1VCU1QoW0hBVkVfUE9TSVhfU1BBV05dKQorQUNf U1VCU1QoW0hBVkVfUE9TSVhfU1BBV05fRklMRV9BQ1RJT05TX0FERENIRElSXSkKK0FDX1NVQlNU KFtIQVZFX1BPU0lYX1NQQVdOX0ZJTEVfQUNUSU9OU19BRERDSERJUl9OUF0pCitBQ19TVUJTVChb SEFWRV9QT1NJWF9TUEFXTkFUVFJfU0VURkxBR1NdKQorQUNfQ0hFQ0tfREVDTFMoW1BPU0lYX1NQ QVdOX1NFVFNJRF0sIFtdLCBbXSwgW1sKKyAgICAgICAgICAgICAgICNpbmNsdWRlIDxzcGF3bi5o PgorICAgICAgICAgICAgICAgXV0pCitBQ19TVUJTVChbSEFWRV9ERUNMX1BPU0lYX1NQQVdOX1NF VFNJRF0pCisKIGRubCBDaGVjayBmb3IgZ2xpYi4gIFRoaXMgZGlmZmVycyBmcm9tIG90aGVyIGxp YnJhcnkgY2hlY2tzIGluIHRoYXQKIGRubCBFbWFjcyBuZWVkIG5vdCBsaW5rIHRvIGdsaWIgdW5s ZXNzIHNvbWUgb3RoZXIgbGlicmFyeSBpcyBhbHJlYWR5CiBkbmwgbGlua2luZyB0byBnbGliLiAg QWx0aG91Z2ggZ2xpYiBwcm92aWRlcyBubyBmYWNpbGl0aWVzIHRoYXQgRW1hY3MKZGlmZiAtLWdp dCBhL3NyYy9jYWxscHJvYy5jIGIvc3JjL2NhbGxwcm9jLmMKaW5kZXggZmE0M2Y5NzM4NC4uNzc1 OTBkOTlhZSAxMDA2NDQKLS0tIGEvc3JjL2NhbGxwcm9jLmMKKysrIGIvc3JjL2NhbGxwcm9jLmMK QEAgLTI4LDYgKzI4LDIyIEBAIENvcHlyaWdodCAoQykgMTk4NS0xOTg4LCAxOTkzLTE5OTUsIDE5 OTktMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4K ICNpbmNsdWRlIDxmY250bC5oPgogCisvKiBJbiBvcmRlciB0byBiZSBhYmxlIHRvIHVzZSBgcG9z aXhfc3Bhd24nLCBpdCBuZWVkcyB0byBzdXBwb3J0IHNvbWUKKyAgIHZhcmlhbnQgb2YgYGNoZGly JyBhcyB3ZWxsIGFzIGBzZXRzaWQnLiAgSXQgaXMgb25seSBlbmFibGVkIG9uCisgICBEYXJ3aW4g dG8gd29yayBhcm91bmQgdmZvcmsgYmVpbmcgZGVwcmVjYXRlZC4gICovCisjaWYgZGVmaW5lZCBE QVJXSU5fT1MgXAorICAmJiBkZWZpbmVkIEhBVkVfU1BBV05fSCAmJiBkZWZpbmVkIEhBVkVfUE9T SVhfU1BBV04gICAgICAgIFwKKyAgJiYgZGVmaW5lZCBIQVZFX1BPU0lYX1NQQVdOQVRUUl9TRVRG TEFHUyAgICAgICAgICAgICAgICAgIFwKKyAgJiYgKGRlZmluZWQgSEFWRV9QT1NJWF9TUEFXTl9G SUxFX0FDVElPTlNfQUREQ0hESVIgICAgICAgIFwKKyAgICAgIHx8IGRlZmluZWQgSEFWRV9QT1NJ WF9TUEFXTl9GSUxFX0FDVElPTlNfQUREQ0hESVJfTlApIFwKKyAgJiYgZGVmaW5lZCBIQVZFX0RF Q0xfUE9TSVhfU1BBV05fU0VUU0lEICAgICAgICAgICAgICAgICAgIFwKKyAgJiYgSEFWRV9ERUNM X1BPU0lYX1NQQVdOX1NFVFNJRCA9PSAxCisjIGluY2x1ZGUgPHNwYXduLmg+CisjIGRlZmluZSBV U0FCTEVfUE9TSVhfU1BBV04gMQorI2Vsc2UKKyMgZGVmaW5lIFVTQUJMRV9QT1NJWF9TUEFXTiAw CisjZW5kaWYKKwogI2luY2x1ZGUgImxpc3AuaCIKIAogI2lmZGVmIFNFVFVQX1NMQVZFX1BUWQpA QCAtMTI0Nyw2ICsxMjYzLDEzMCBAQCBjaGlsZF9zZXR1cCAoaW50IGluLCBpbnQgb3V0LCBpbnQg ZXJyLCBjaGFyICoqbmV3X2FyZ3YsIGNoYXIgKiplbnYsCiAjZW5kaWYgIC8qIG5vdCBXSU5ET1dT TlQgKi8KIH0KIAorI2lmIFVTQUJMRV9QT1NJWF9TUEFXTgorCisvKiBTZXQgdXAgQUNUSU9OUyBh bmQgQVRUUklCVVRFUyBmb3IgYHBvc2l4X3NwYXduJy4gIFJldHVybiBhbiBlcnJvcgorICAgbnVt YmVyLiAgKi8KKworc3RhdGljIGludAorZW1hY3NfcG9zaXhfc3Bhd25faW5pdF9hY3Rpb25zIChw b3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfdCAqYWN0aW9ucywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50IHN0ZF9pbiwgaW50IHN0ZF9vdXQsIGludCBzdGRfZXJyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjd2QpCit7CisgIGludCBlcnJv ciA9IHBvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19pbml0IChhY3Rpb25zKTsKKyAgaWYgKGVycm9y ICE9IDApCisgICAgcmV0dXJuIGVycm9yOworCisgIGVycm9yID0gcG9zaXhfc3Bhd25fZmlsZV9h Y3Rpb25zX2FkZGR1cDIgKGFjdGlvbnMsIHN0ZF9pbiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU1RESU5fRklMRU5PKTsKKyAgaWYgKGVycm9yICE9IDApCisg ICAgZ290byBvdXQ7CisKKyAgZXJyb3IgPSBwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfYWRkZHVw MiAoYWN0aW9ucywgc3RkX291dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU1RET1VUX0ZJTEVOTyk7CisgIGlmIChlcnJvciAhPSAwKQorICAgIGdvdG8gb3V0 OworCisgIGVycm9yID0gcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGR1cDIgKGFjdGlvbnMs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZF9lcnIgPCAw ID8gc3RkX291dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6IHN0ZF9lcnIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNUREVSUl9GSUxFTk8pOworICBpZiAoZXJyb3IgIT0gMCkKKyAgICBnb3RvIG91 dDsKKworICBlcnJvciA9CisjaWZkZWYgSEFWRV9QT1NJWF9TUEFXTl9GSUxFX0FDVElPTlNfQURE Q0hESVIKKyAgICBwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfYWRkY2hkaXIKKyNlbHNlCisgICAg cG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGNoZGlyX25wCisjZW5kaWYKKyAgICAoYWN0aW9u cywgY3dkKTsKKyAgaWYgKGVycm9yICE9IDApCisgICAgZ290byBvdXQ7CisKKyBvdXQ6CisgIGlm IChlcnJvciAhPSAwKQorICAgIHBvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19kZXN0cm95IChhY3Rp b25zKTsKKyAgcmV0dXJuIGVycm9yOworfQorCitzdGF0aWMgaW50CitlbWFjc19wb3NpeF9zcGF3 bl9pbml0X2F0dHJpYnV0ZXMgKHBvc2l4X3NwYXduYXR0cl90ICphdHRyaWJ1dGVzKQoreworICBp bnQgZXJyb3IgPSBwb3NpeF9zcGF3bmF0dHJfaW5pdCAoYXR0cmlidXRlcyk7CisgIGlmIChlcnJv ciAhPSAwKQorICAgIHJldHVybiBlcnJvcjsKKworICBlcnJvciA9IHBvc2l4X3NwYXduYXR0cl9z ZXRmbGFncyAoYXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBPU0lYX1NQQVdOX1NFVFNJRAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IFBPU0lYX1NQQVdOX1NFVFNJR0RFRgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IFBPU0lYX1NQQVdOX1NFVFNJR01BU0spOworICBpZiAoZXJyb3IgIT0gMCkKKyAg ICBnb3RvIG91dDsKKworICBzaWdzZXRfdCBzaWdkZWZhdWx0OworICBzaWdlbXB0eXNldCAoJnNp Z2RlZmF1bHQpOworCisjaWZkZWYgREFSV0lOX09TCisgIC8qIFdvcmsgYXJvdW5kIGEgbWFjT1Mg YnVnLCB3aGVyZSBTSUdDSExEIGlzIGFwcGFyZW50bHkKKyAgICAgZGVsaXZlcmVkIHRvIGEgdmZv cmtlZCBjaGlsZCBpbnN0ZWFkIG9mIHRvIGl0cyBwYXJlbnQuICBTZWU6CisgICAgIGh0dHBzOi8v bGlzdHMuZ251Lm9yZy9yL2VtYWNzLWRldmVsLzIwMTctMDUvbXNnMDAzNDIuaHRtbAorICAqLwor ICBzaWdhZGRzZXQgKCZzaWdkZWZhdWx0LCBTSUdDSExEKTsKKyNlbmRpZgorCisgIHNpZ2FkZHNl dCAoJnNpZ2RlZmF1bHQsIFNJR0lOVCk7CisgIHNpZ2FkZHNldCAoJnNpZ2RlZmF1bHQsIFNJR1FV SVQpOworI2lmZGVmIFNJR1BST0YKKyAgc2lnYWRkc2V0ICgmc2lnZGVmYXVsdCwgU0lHUFJPRik7 CisjZW5kaWYKKworICAvKiBFbWFjcyBpZ25vcmVzIFNJR1BJUEUsIGJ1dCB0aGUgY2hpbGQgc2hv dWxkIG5vdC4gICovCisgIHNpZ2FkZHNldCAoJnNpZ2RlZmF1bHQsIFNJR1BJUEUpOworICAvKiBM aWtld2lzZSBmb3IgU0lHUFJPRi4gICovCisjaWZkZWYgU0lHUFJPRgorICBzaWdhZGRzZXQgKCZz aWdkZWZhdWx0LCBTSUdQUk9GKTsKKyNlbmRpZgorCisgIGVycm9yID0gcG9zaXhfc3Bhd25hdHRy X3NldHNpZ2RlZmF1bHQgKGF0dHJpYnV0ZXMsICZzaWdkZWZhdWx0KTsKKyAgaWYgKGVycm9yICE9 IDApCisgICAgZ290byBvdXQ7CisKKyAgLyogU3RvcCBibG9ja2luZyBTSUdDSExEIGluIHRoZSBj aGlsZC4gICovCisgIHNpZ3NldF90IG9sZHNldDsKKyAgZXJyb3IgPSBwdGhyZWFkX3NpZ21hc2sg KFNJR19TRVRNQVNLLCBOVUxMLCAmb2xkc2V0KTsKKyAgaWYgKGVycm9yICE9IDApCisgICAgZ290 byBvdXQ7CisgIGVycm9yID0gcG9zaXhfc3Bhd25hdHRyX3NldHNpZ21hc2sgKGF0dHJpYnV0ZXMs ICZvbGRzZXQpOworICBpZiAoZXJyb3IgIT0gMCkKKyAgICBnb3RvIG91dDsKKworIG91dDoKKyAg aWYgKGVycm9yICE9IDApCisgICAgcG9zaXhfc3Bhd25hdHRyX2Rlc3Ryb3kgKGF0dHJpYnV0ZXMp OworCisgIHJldHVybiBlcnJvcjsKK30KKworc3RhdGljIGludAorZW1hY3NfcG9zaXhfc3Bhd25f aW5pdCAocG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX3QgKmFjdGlvbnMsCisgICAgICAgICAgICAg ICAgICAgICAgICBwb3NpeF9zcGF3bmF0dHJfdCAqYXR0cmlidXRlcywgaW50IHN0ZF9pbiwKKyAg ICAgICAgICAgICAgICAgICAgICAgIGludCBzdGRfb3V0LCBpbnQgc3RkX2VyciwgY29uc3QgY2hh ciAqY3dkKQoreworICBpbnQgZXJyb3IgPSBlbWFjc19wb3NpeF9zcGF3bl9pbml0X2FjdGlvbnMg KGFjdGlvbnMsIHN0ZF9pbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdGRfb3V0LCBzdGRfZXJyLCBjd2QpOworICBpZiAoZXJyb3IgIT0gMCkKKyAgICBy ZXR1cm4gZXJyb3I7CisKKyAgZXJyb3IgPSBlbWFjc19wb3NpeF9zcGF3bl9pbml0X2F0dHJpYnV0 ZXMgKGF0dHJpYnV0ZXMpOworICBpZiAoZXJyb3IgIT0gMCkKKyAgICByZXR1cm4gZXJyb3I7CisK KyAgcmV0dXJuIDA7Cit9CisKKyNlbmRpZgorCiAvKiBTdGFydCBhIG5ldyBhc3luY2hyb25vdXMg c3VicHJvY2Vzcy4gIElmIHN1Y2Nlc3NmdWwsIHJldHVybiB6ZXJvCiAgICBhbmQgc3RvcmUgdGhl IHByb2Nlc3MgaWRlbnRpZmllciBvZiB0aGUgbmV3IHByb2Nlc3MgaW4gKk5FV1BJRC4KICAgIFVz ZSBTVERJTiwgU1RET1VULCBhbmQgU1RERVJSIGFzIHN0YW5kYXJkIHN0cmVhbXMgZm9yIHRoZSBu ZXcKQEAgLTEyNjYsMTAgKzE0MDYsNTggQEAgZW1hY3Nfc3Bhd24gKHBpZF90ICpuZXdwaWQsIGlu dCBzdGRfaW4sIGludCBzdGRfb3V0LCBpbnQgc3RkX2VyciwKICAgICAgICAgICAgICBjaGFyICoq YXJndiwgY2hhciAqKmVudnAsIGNvbnN0IGNoYXIgKmN3ZCwKICAgICAgICAgICAgICBjb25zdCBj aGFyICpwdHksIGNvbnN0IHNpZ3NldF90ICpvbGRzZXQpCiB7CisjaWYgVVNBQkxFX1BPU0lYX1NQ QVdOCisgIC8qIFByZWZlciB0aGUgc2ltcGxlciBgcG9zaXhfc3Bhd24nIGlmIGF2YWlsYWJsZS4g IGBwb3NpeF9zcGF3bicKKyAgICAgZG9lc24ndCB5ZXQgc3VwcG9ydCBzZXR0aW5nIHVwIHBzZXVk b3Rlcm1pbmFscywgc28gd2UgZmFsbCBiYWNrCisgICAgIHRvIGB2Zm9yaycgaWYgd2UncmUgc3Vw cG9zZWQgdG8gdXNlIGEgcHNldWRvdGVybWluYWwuICAqLworCisgIGJvb2wgdXNlX3Bvc2l4X3Nw YXduID0gcHR5ID09IE5VTEw7CisKKyAgcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX3QgYWN0aW9u czsKKyAgcG9zaXhfc3Bhd25hdHRyX3QgYXR0cmlidXRlczsKKworICBpZiAodXNlX3Bvc2l4X3Nw YXduKQorICAgIHsKKyAgICAgIC8qIEluaXRpYWxpemUgb3B0aW9uYWwgYXR0cmlidXRlcyBiZWZv cmUgYmxvY2tpbmcuICovCisgICAgICBpbnQgZXJyb3IKKyAgICAgICAgPSBlbWFjc19wb3NpeF9z cGF3bl9pbml0ICgmYWN0aW9ucywgJmF0dHJpYnV0ZXMsIHN0ZF9pbiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdGRfb3V0LCBzdGRfZXJyLCBjd2QpOworICAgICAgaWYgKGVy cm9yICE9IDApCisJcmV0dXJuIGVycm9yOworICAgIH0KKyNlbmRpZgorCiAgIGludCBwaWQ7Cisg IGludCB2Zm9ya19lcnJvcjsKIAogICBlYXNzZXJ0IChpbnB1dF9ibG9ja2VkX3AgKCkpOwogCisj aWYgVVNBQkxFX1BPU0lYX1NQQVdOCisgIGlmICh1c2VfcG9zaXhfc3Bhd24pCisgICAgeworICAg ICAgdmZvcmtfZXJyb3IgPSBwb3NpeF9zcGF3biAoJnBpZCwgYXJndlswXSwgJmFjdGlvbnMsICZh dHRyaWJ1dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndiwgZW52cCk7 CisgICAgICBpZiAodmZvcmtfZXJyb3IgIT0gMCkKKwlwaWQgPSAtMTsKKworICAgICAgaW50IGVy cm9yID0gcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2Rlc3Ryb3kgKCZhY3Rpb25zKTsKKyAgICAg IGlmIChlcnJvciAhPSAwKQorCXsKKwkgIGVycm5vID0gZXJyb3I7CisJICBlbWFjc19wZXJyb3Ig KCJwb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfZGVzdHJveSIpOworCX0KKworICAgICAgZXJyb3Ig PSBwb3NpeF9zcGF3bmF0dHJfZGVzdHJveSAoJmF0dHJpYnV0ZXMpOworICAgICAgaWYgKGVycm9y ICE9IDApCisJeworCSAgZXJybm8gPSBlcnJvcjsKKwkgIGVtYWNzX3BlcnJvciAoInBvc2l4X3Nw YXduYXR0cl9kZXN0cm95Iik7CisJfQorCisgICAgICBnb3RvIGZvcmtfZG9uZTsKKyAgICB9Cisj ZW5kaWYKKwogI2lmbmRlZiBXSU5ET1dTTlQKICAgLyogdmZvcmssIGFuZCBwcmV2ZW50IGxvY2Fs IHZhcnMgZnJvbSBiZWluZyBjbG9iYmVyZWQgYnkgdGhlIHZmb3JrLiAgKi8KICAgcGlkX3QgKnZv bGF0aWxlIG5ld3BpZF92b2xhdGlsZSA9IG5ld3BpZDsKQEAgLTE0MTMsNyArMTYwMSwxMSBAQCBl bWFjc19zcGF3biAocGlkX3QgKm5ld3BpZCwgaW50IHN0ZF9pbiwgaW50IHN0ZF9vdXQsIGludCBz dGRfZXJyLAogCiAgIC8qIEJhY2sgaW4gdGhlIHBhcmVudCBwcm9jZXNzLiAgKi8KIAotICBpbnQg dmZvcmtfZXJyb3IgPSBwaWQgPCAwID8gZXJybm8gOiAwOworICB2Zm9ya19lcnJvciA9IHBpZCA8 IDAgPyBlcnJubyA6IDA7CisKKyNpZiBVU0FCTEVfUE9TSVhfU1BBV04KKyBmb3JrX2RvbmU6Cisj ZW5kaWYKIAogICBpZiAocGlkIDwgMCkKICAgICB7Ci0tIAoyLjMzLjEKCg== --000000000000e7fef705d044e706--