delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:date:from:to:subject:message-id:in-reply-to | |
:references:mime-version:content-type; q=dns; s=default; b=eyEFV | |
Pb3zVpPxGpVe0DBSHcT6HsGJ75UsRT/DguohBt4r4nLgKujqBi9dUwSJcBX6bvEQ | |
xj9rBCTTvDC/nyzbLKpk15FPv8mQk0rejc2Kz7X518D8vZZ9rHcWNDCofGpg53PS | |
W794UoW10Iz8OHG1pp5y3ARfz2x4IoQYzIPorY= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:date:from:to:subject:message-id:in-reply-to | |
:references:mime-version:content-type; s=default; bh=HeJAje7BYyy | |
EJwWgc2nbuNAqaXY=; b=PbcK8lGQqUTfjXSRWwPprq6D9YKovbvgo/48LuW2Fmw | |
JBB3h0coGw3Us3EsXCdPayU65XnEbAuhcSilOgctYQhm8jUuRZV735+A6gWPOH9v | |
o+duZ1i79Upr/+tmfXvLFk0A1m+KgxuT5675YY8XIRySpmuKVxJILAuQ3qtkoYV8 | |
= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Authentication-Results: | sourceware.org; auth=none |
X-Virus-Found: | No |
X-Spam-SWARE-Status: | No, score=-0.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_SORBS_DUL,SPF_PASS,UNSUBSCRIBE_BODY autolearn=no version=3.3.2 |
X-HELO: | conuserg006-v.nifty.com |
X-Nifty-SrcIP: | [121.93.68.199] |
Date: | Wed, 4 Mar 2015 20:34:07 +0900 |
From: | Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> |
To: | cygwin AT cygwin DOT com |
Subject: | Re: Cygwin hangs up if several keys are typed during outputting a lot of texts. |
Message-Id: | <20150304203407.14008531b0fb63ad5c19a33f@nifty.ne.jp> |
In-Reply-To: | <20150302144426.GK3213@calimero.vinschen.de> |
References: | <20150228144019 DOT 0e4cfdb3a26bfac361b538e2 AT nifty DOT ne DOT jp> <20150228140251 DOT GA11124 AT calimero DOT vinschen DOT de> <20150302204502 DOT 39b3e03ad5084b0b5add5d10 AT nifty DOT ne DOT jp> <20150302144426 DOT GK3213 AT calimero DOT vinschen DOT de> |
Mime-Version: | 1.0 |
X-IsSubscribed: | yes |
--Multipart=_Wed__4_Mar_2015_20_34_07_+0900_bJkFL26csFkYYCRa Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 2 Mar 2015 15:44:26 +0100 Corinna Vinschen <corinna-cygwin AT cygwin DOT com> wrote: > > 1) Buffer of named pipe gets full-filled by a lot of data written > > by slave side. > > 2) WriteFile() in fhandler_pty_master::doecho(), which is called > > from master side by key input, is blocked because the buffer > > is full. > > 3) If a handling to read from the pipe is in the same thread as > > key input, the thread falls into deadlock. > > > > To check buffer space before WriteFile() is one idea, > > but it is not smart, I suppose... > > I think that's not it. For testing I added code to convert the > WriteFile calls in fhandler_pty_slave::write, fhandler_pty_master::doecho > and fhandler_pty_slave::write to overlapped I/O and made sure to wait > for the result after the output mutex has been released. > > This change has no effect at all. Looks like this needs some more > digging. Hmm. To confirm my assumption, I have modified the TTY code for testing. The modification is shown in an attached diff-file against current CVS version. (Note that this patch is not for fixing the problem. It is for just a testing.) With this modification, half of buffer is kept empty for fhandler_pty_master::doecho(). I assumed the blocking could be avoided because buffer is always free. As a result of the test, it has become clear that this modification conceals the problem. This means the problem is closely related to occupancy of buffer. Now, I suppose the cause has been clarified. So we have to work out a solution. How can we resolve this problem? -- Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp> --Multipart=_Wed__4_Mar_2015_20_34_07_+0900_bJkFL26csFkYYCRa Content-Type: application/octet-stream; name="cygwin-test.patch.20150304" Content-Disposition: attachment; filename="cygwin-test.patch.20150304" Content-Transfer-Encoding: base64 SW5kZXg6IHNyYy93aW5zdXAvY3lnd2luL2ZoYW5kbGVyLmgKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL3dpbnN1cC9j eWd3aW4vZmhhbmRsZXIuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41MTMK ZGlmZiAtdSAtcCAtcjEuNTEzIGZoYW5kbGVyLmgKLS0tIHNyYy93aW5zdXAv Y3lnd2luL2ZoYW5kbGVyLmgJMjQgRmViIDIwMTUgMTE6MDU6MDIgLTAwMDAJ MS41MTMKKysrIHNyYy93aW5zdXAvY3lnd2luL2ZoYW5kbGVyLmgJNCBNYXIg MjAxNSAxMTowMToyNyAtMDAwMApAQCAtMTUxMiw2ICsxNTEyLDcgQEAgY2xh c3MgZmhhbmRsZXJfcHR5X2NvbW1vbjogcHVibGljIGZoYW5kbAogY2xhc3Mg ZmhhbmRsZXJfcHR5X3NsYXZlOiBwdWJsaWMgZmhhbmRsZXJfcHR5X2NvbW1v bgogewogICBIQU5ETEUgaW51c2U7CQkJLy8gdXNlZCB0byBpbmRpY2F0ZSB0 aGF0IGEgdHR5IGlzIGluIHVzZQorICBIQU5ETEUgZnJvbV9zbGF2ZSwgdG9f c2xhdmU7CS8vIGZvciB0ZXN0aW5nCiAKICAgLyogSGVscGVyIGZ1bmN0aW9u cyBmb3IgZmNobW9kIGFuZCBmY2hvd24uICovCiAgIGJvb2wgZmNoX29wZW5f aGFuZGxlcyAoYm9vbCBjaG93bik7CkluZGV4OiBzcmMvd2luc3VwL2N5Z3dp bi9maGFuZGxlcl90dHkuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1Mg ZmlsZTogL2N2cy9zcmMvc3JjL3dpbnN1cC9jeWd3aW4vZmhhbmRsZXJfdHR5 LmNjLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI5MApkaWZmIC11IC1wIC1y MS4yOTAgZmhhbmRsZXJfdHR5LmNjCi0tLSBzcmMvd2luc3VwL2N5Z3dpbi9m aGFuZGxlcl90dHkuY2MJMjUgRmViIDIwMTUgMTY6NDY6NTcgLTAwMDAJMS4y OTAKKysrIHNyYy93aW5zdXAvY3lnd2luL2ZoYW5kbGVyX3R0eS5jYwk0IE1h ciAyMDE1IDExOjAxOjI3IC0wMDAwCkBAIC00Miw2ICs0Miw4IEBAIHN0cnVj dCBwaXBlX3JlcXVlc3Qgewogc3RydWN0IHBpcGVfcmVwbHkgewogICBIQU5E TEUgZnJvbV9tYXN0ZXI7CiAgIEhBTkRMRSB0b19tYXN0ZXI7CisgIEhBTkRM RSBmcm9tX3NsYXZlOworICBIQU5ETEUgdG9fc2xhdmU7CiAgIERXT1JEIGVy cm9yOwogfTsKIApAQCAtMzc4LDcgKzM4MCw4IEBAIG91dDoKIC8qIHB0eSBz bGF2ZSBzdHVmZiAqLwogCiBmaGFuZGxlcl9wdHlfc2xhdmU6OmZoYW5kbGVy X3B0eV9zbGF2ZSAoaW50IHVuaXQpCi0gIDogZmhhbmRsZXJfcHR5X2NvbW1v biAoKSwgaW51c2UgKE5VTEwpCisgIDogZmhhbmRsZXJfcHR5X2NvbW1vbiAo KSwgaW51c2UgKE5VTEwpLAorICAgIGZyb21fc2xhdmUgKE5VTEwpLCB0b19z bGF2ZSAoTlVMTCkKIHsKICAgaWYgKHVuaXQgPj0gMCkKICAgICBkZXYgKCku cGFyc2UgKERFVl9QVFlTX01BSk9SLCB1bml0KTsKQEAgLTM4OCwxMCArMzkx LDEyIEBAIGludAogZmhhbmRsZXJfcHR5X3NsYXZlOjpvcGVuIChpbnQgZmxh Z3MsIG1vZGVfdCkKIHsKICAgSEFORExFIHB0eV9vd25lciwgZnJvbV9tYXN0 ZXJfbG9jYWwsIHRvX21hc3Rlcl9sb2NhbDsKKyAgSEFORExFIGZyb21fc2xh dmVfbG9jYWwsIHRvX3NsYXZlX2xvY2FsOwogICBIQU5ETEUgKmhhbmRsZXNb XSA9CiAgIHsKICAgICAmZnJvbV9tYXN0ZXJfbG9jYWwsICZpbnB1dF9hdmFp bGFibGVfZXZlbnQsICZpbnB1dF9tdXRleCwgJmludXNlLAogICAgICZvdXRw dXRfbXV0ZXgsICZ0b19tYXN0ZXJfbG9jYWwsICZwdHlfb3duZXIsCisgICAg JmZyb21fc2xhdmVfbG9jYWwsICZ0b19zbGF2ZV9sb2NhbCwKICAgICBOVUxM CiAgIH07CiAKQEAgLTUwMCw2ICs1MDUsMjIgQEAgZmhhbmRsZXJfcHR5X3Ns YXZlOjpvcGVuIChpbnQgZmxhZ3MsIG1vZAogCSAgZXJybXNnID0gImNhbid0 IGR1cGxpY2F0ZSBvdXRwdXQsICVFIjsKIAkgIGdvdG8gZXJyOwogCX0KKyAg ICAgIGlmICghRHVwbGljYXRlSGFuZGxlIChwdHlfb3duZXIsIGdldF90dHlw ICgpLT5mcm9tX3NsYXZlICgpLAorCQkJICAgIEdldEN1cnJlbnRQcm9jZXNz ICgpLCAmZnJvbV9zbGF2ZV9sb2NhbCwgMCwgVFJVRSwKKwkJCSAgICBEVVBM SUNBVEVfU0FNRV9BQ0NFU1MpKQorCXsKKwkgIHRlcm1pb3NfcHJpbnRmICgi Y2FuJ3QgZHVwbGljYXRlIG1hc3RlciBpbnB1dCBmcm9tICV1LyVwLCAlRSIs CisJCQkgIGdldF90dHlwICgpLT5tYXN0ZXJfcGlkLCBnZXRfdHR5cCAoKS0+ ZnJvbV9zbGF2ZSAoKSk7CisJICBfX3NldGVycm5vICgpOworCSAgZ290byBl cnJfbm9fbXNnOworCX0KKyAgICAgIGlmICghRHVwbGljYXRlSGFuZGxlIChw dHlfb3duZXIsIGdldF90dHlwICgpLT50b19zbGF2ZSAoKSwKKwkJCSAgR2V0 Q3VycmVudFByb2Nlc3MgKCksICZ0b19zbGF2ZV9sb2NhbCwgMCwgVFJVRSwK KwkJCSAgRFVQTElDQVRFX1NBTUVfQUNDRVNTKSkKKwl7CisJICBlcnJtc2cg PSAiY2FuJ3QgZHVwbGljYXRlIG1hc3RlciBvdXRwdXQsICVFIjsKKwkgIGdv dG8gZXJyOworCX0KICAgICAgIGlmIChwdHlfb3duZXIgIT0gR2V0Q3VycmVu dFByb2Nlc3MgKCkpCiAJQ2xvc2VIYW5kbGUgKHB0eV9vd25lcik7CiAgICAg fQpAQCAtNTIwLDIzICs1NDEsMzkgQEAgZmhhbmRsZXJfcHR5X3NsYXZlOjpv cGVuIChpbnQgZmxhZ3MsIG1vZAogCX0KICAgICAgIGZyb21fbWFzdGVyX2xv Y2FsID0gcmVwbC5mcm9tX21hc3RlcjsKICAgICAgIHRvX21hc3Rlcl9sb2Nh bCA9IHJlcGwudG9fbWFzdGVyOworICAgICAgZnJvbV9zbGF2ZV9sb2NhbCA9 IHJlcGwuZnJvbV9zbGF2ZTsKKyAgICAgIHRvX3NsYXZlX2xvY2FsID0gcmVw bC50b19zbGF2ZTsKICAgICAgIGlmICghZnJvbV9tYXN0ZXJfbG9jYWwgfHwg IXRvX21hc3Rlcl9sb2NhbCkKIAl7CiAJICBTZXRMYXN0RXJyb3IgKHJlcGwu ZXJyb3IpOwogCSAgZXJybXNnID0gImVycm9yIGR1cGxpY2F0aW5nIHBpcGVz LCAlRSI7CiAJICBnb3RvIGVycjsKIAl9CisgICAgICBpZiAoIWZyb21fc2xh dmVfbG9jYWwgfHwgIXRvX3NsYXZlX2xvY2FsKQorCXsKKwkgIFNldExhc3RF cnJvciAocmVwbC5lcnJvcik7CisJICBlcnJtc2cgPSAiZXJyb3IgZHVwbGlj YXRpbmcgbWFzdGVyIHBpcGVzLCAlRSI7CisJICBnb3RvIGVycjsKKwl9CiAg ICAgfQogICBWZXJpZnlIYW5kbGUgKGZyb21fbWFzdGVyX2xvY2FsKTsKICAg VmVyaWZ5SGFuZGxlICh0b19tYXN0ZXJfbG9jYWwpOworICBWZXJpZnlIYW5k bGUgKGZyb21fc2xhdmVfbG9jYWwpOworICBWZXJpZnlIYW5kbGUgKHRvX3Ns YXZlX2xvY2FsKTsKIAogICB0ZXJtaW9zX3ByaW50ZiAoImR1cGxpY2F0ZWQg ZnJvbV9tYXN0ZXIgJXAtPiVwIGZyb20gcHR5X293bmVyIiwKIAkJICBnZXRf dHR5cCAoKS0+ZnJvbV9tYXN0ZXIgKCksIGZyb21fbWFzdGVyX2xvY2FsKTsK ICAgdGVybWlvc19wcmludGYgKCJkdXBsaWNhdGVkIHRvX21hc3RlciAlcC0+ JXAgZnJvbSBwdHlfb3duZXIiLAogCQkgIGdldF90dHlwICgpLT50b19tYXN0 ZXIgKCksIHRvX21hc3Rlcl9sb2NhbCk7CisgIHRlcm1pb3NfcHJpbnRmICgi ZHVwbGljYXRlZCBmcm9tX3NsYXZlICVwLT4lcCBmcm9tIHB0eV9vd25lciIs CisJCSAgZ2V0X3R0eXAgKCktPmZyb21fc2xhdmUgKCksIGZyb21fc2xhdmVf bG9jYWwpOworICB0ZXJtaW9zX3ByaW50ZiAoImR1cGxpY2F0ZWQgdG9fc2xh dmUgJXAtPiVwIGZyb20gcHR5X293bmVyIiwKKwkJICBnZXRfdHR5cCAoKS0+ dG9fc2xhdmUgKCksIHRvX3NsYXZlX2xvY2FsKTsKIAogICBzZXRfaW9faGFu ZGxlIChmcm9tX21hc3Rlcl9sb2NhbCk7CiAgIHNldF9vdXRwdXRfaGFuZGxl ICh0b19tYXN0ZXJfbG9jYWwpOworICBmcm9tX3NsYXZlID0gZnJvbV9zbGF2 ZV9sb2NhbDsKKyAgdG9fc2xhdmUgPSB0b19zbGF2ZV9sb2NhbDsKIAogICBm aGFuZGxlcl9jb25zb2xlOjpuZWVkX2ludmlzaWJsZSAoKTsKICAgc2V0X29w ZW5fc3RhdHVzICgpOwpAQCAtNTg3LDYgKzYyNCwxMCBAQCBmaGFuZGxlcl9w dHlfc2xhdmU6OmNsb3NlICgpCiAgICAgdGVybWlvc19wcmludGYgKCJDbG9z ZUhhbmRsZSAoaW5wdXRfYXZhaWxhYmxlX2V2ZW50PCVwPiksICVFIiwgaW5w dXRfYXZhaWxhYmxlX2V2ZW50KTsKICAgaWYgKCh1bnNpZ25lZCkgbXlzZWxm LT5jdHR5ID09IEZIREVWIChERVZfUFRZU19NQUpPUiwgZ2V0X21pbm9yICgp KSkKICAgICBmaGFuZGxlcl9jb25zb2xlOjpmcmVlX2NvbnNvbGUgKCk7CS8q IGFzc3VtZXMgdGhhdCB3ZSBhcmUgdGhlIGxhc3QgcHR5IGNsb3NlciAqLwor ICBpZiAoIUZvcmNlQ2xvc2VIYW5kbGUgKGZyb21fc2xhdmUpKQorICAgIHRl cm1pb3NfcHJpbnRmICgiZXJyb3IgY2xvc2luZyBmcm9tX3NsYXZlICVwLCAl RSIsIGZyb21fc2xhdmUpOworICBpZiAoIUZvcmNlQ2xvc2VIYW5kbGUgKHRv X3NsYXZlKSkKKyAgICB0ZXJtaW9zX3ByaW50ZiAoImVycm9yIGNsb3Npbmcg dG9fc2xhdmUgJXAsICVFIiwgdG9fc2xhdmUpOwogICByZXR1cm4gZmhhbmRs ZXJfcHR5X2NvbW1vbjo6Y2xvc2UgKCk7CiB9CiAKQEAgLTY1Myw2ICs2OTQs MjggQEAgZmhhbmRsZXJfcHR5X3NsYXZlOjp3cml0ZSAoY29uc3Qgdm9pZCAq cAogCiAgICAgICB3aGlsZSAodGMgKCktPm91dHB1dF9zdG9wcGVkKQogCWN5 Z3dhaXQgKDEwKTsKKworICAgICAgLyogZm9yIHRlc3RpbmcgKi8KKyAgICAg IERXT1JEIGJ1ZmxlbjsKKyAgICAgIGlmICghR2V0TmFtZWRQaXBlSW5mbyAo Z2V0X291dHB1dF9oYW5kbGUgKCksIE5VTEwsICZidWZsZW4sIE5VTEwsIE5V TEwpKQorCXsKKwkgIHRlcm1pb3NfcHJpbnRmICgiR2V0TmFtZWRQaXBlSW5m byglcCkgZmFpbGVkLCAlRSIsIGdldF9vdXRwdXRfaGFuZGxlICgpKTsKKwkg IGJ1ZmxlbiA9IGZoYW5kbGVyX3B0eV9jb21tb246OnBpcGVzaXplOworCX0K KyAgICAgIERXT1JEIG9jY3VwaWVkOworICAgICAgaWYgKCFQZWVrTmFtZWRQ aXBlIChmcm9tX3NsYXZlLCBOVUxMLCAwLCBOVUxMLCAmb2NjdXBpZWQsIE5V TEwpKQorCXsKKwkgIHRlcm1pb3NfcHJpbnRmICgiUGVla05hbWVkUGlwZSgl cCkgZmFpbGVkLCAlRSIsIGZyb21fc2xhdmUpOworCX0KKyAgICAgIGVsc2UK Kwl7CisJICB3aGlsZSAobiArIG9jY3VwaWVkID4gYnVmbGVuIC8gMikKKwkg ICAgeworCSAgICAgIGN5Z3dhaXQgKDEwKTsKKwkgICAgICBQZWVrTmFtZWRQ aXBlIChmcm9tX3NsYXZlLCBOVUxMLCAwLCBOVUxMLCAmb2NjdXBpZWQsIE5V TEwpOworCSAgICB9CisJfQorCiAgICAgICBhY3F1aXJlX291dHB1dF9tdXRl eCAoSU5GSU5JVEUpOwogCiAgICAgICAvKiBQcmV2aW91cyB3cml0ZSBtYXkg aGF2ZSBzZXQgd3JpdGVfZXJyb3IgdG8gIT0gMC4gIENoZWNrIGl0IGhlcmUu CkBAIC0xNTk3LDYgKzE2NjAsMjAgQEAgZmhhbmRsZXJfcHR5X21hc3Rlcjo6 cHR5X21hc3Rlcl90aHJlYWQgKAogCSAgICAgIHRlcm1pb3NfcHJpbnRmICgi RHVwbGljYXRlSGFuZGxlICh0b19tYXN0ZXIpLCAlRSIpOwogCSAgICAgIGdv dG8gcmVwbHk7CiAJICAgIH0KKwkgIGlmICghRHVwbGljYXRlSGFuZGxlIChH ZXRDdXJyZW50UHJvY2VzcyAoKSwgZ2V0X2lvX2hhbmRsZSAoKSwKKwkJCSAg ICAgICBjbGllbnQsICZyZXBsLmZyb21fc2xhdmUsCisJCQkgICAgICAgMCwg VFJVRSwgRFVQTElDQVRFX1NBTUVfQUNDRVNTKSkKKwkgICAgeworCSAgICAg IHRlcm1pb3NfcHJpbnRmICgiRHVwbGljYXRlSGFuZGxlIChmcm9tX3NsYXZl KSwgJUUiKTsKKwkgICAgICBnb3RvIHJlcGx5OworCSAgICB9CisJICBpZiAo IUR1cGxpY2F0ZUhhbmRsZSAoR2V0Q3VycmVudFByb2Nlc3MgKCksIGdldF9v dXRwdXRfaGFuZGxlICgpLAorCQkJCWNsaWVudCwgJnJlcGwudG9fc2xhdmUs CisJCQkJMCwgVFJVRSwgRFVQTElDQVRFX1NBTUVfQUNDRVNTKSkKKwkgICAg eworCSAgICAgIHRlcm1pb3NfcHJpbnRmICgiRHVwbGljYXRlSGFuZGxlICh0 b19zbGF2ZSksICVFIik7CisJICAgICAgZ290byByZXBseTsKKwkgICAgfQog CX0KIHJlcGx5OgogICAgICAgcmVwbC5lcnJvciA9IEdldExhc3RFcnJvciAo KTsKQEAgLTE3MTEsNiArMTc4OCw4IEBAIGZoYW5kbGVyX3B0eV9tYXN0ZXI6 OnNldHVwICgpCiAKICAgdC5zZXRfZnJvbV9tYXN0ZXIgKGZyb21fbWFzdGVy KTsKICAgdC5zZXRfdG9fbWFzdGVyICh0b19tYXN0ZXIpOworICB0LnNldF9m cm9tX3NsYXZlIChnZXRfaW9faGFuZGxlICgpKTsKKyAgdC5zZXRfdG9fc2xh dmUgKGdldF9vdXRwdXRfaGFuZGxlICgpKTsKICAgdC53aW5zaXplLndzX2Nv bCA9IDgwOwogICB0LndpbnNpemUud3Nfcm93ID0gMjU7CiAgIHQubWFzdGVy X3BpZCA9IG15c2VsZi0+cGlkOwpJbmRleDogc3JjL3dpbnN1cC9jeWd3aW4v dHR5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9z cmMvc3JjL3dpbnN1cC9jeWd3aW4vdHR5LmgsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMzcKZGlmZiAtdSAtcCAtcjEuMzcgdHR5LmgKLS0tIHNyYy93aW5z dXAvY3lnd2luL3R0eS5oCTIzIEFwciAyMDEzIDA5OjQ0OjM0IC0wMDAwCTEu MzcKKysrIHNyYy93aW5zdXAvY3lnd2luL3R0eS5oCTQgTWFyIDIwMTUgMTE6 MDE6MjcgLTAwMDAKQEAgLTEwNCwxNSArMTA0LDI5IEBAIHByaXZhdGU6CiAg ICAgSEFORExFIF90b19tYXN0ZXI7CiAgICAgTEFSR0VfSU5URUdFUiBfdG1f ZHVtbXk7CiAgIH07CisgIHVuaW9uIHsKKyAgICBIQU5ETEUgX2Zyb21fc2xh dmU7CisgICAgTEFSR0VfSU5URUdFUiBfZnNfZHVtbXk7CisgIH07CisgIHVu aW9uIHsgICAgCisgICAgSEFORExFIF90b19zbGF2ZTsKKyAgICBMQVJHRV9J TlRFR0VSIF90c19kdW1teTsKKyAgfTsKIHB1YmxpYzoKICAgSEFORExFIGZy b21fbWFzdGVyKCkgY29uc3QgeyByZXR1cm4gX2Zyb21fbWFzdGVyOyB9CiAg IEhBTkRMRSB0b19tYXN0ZXIoKSBjb25zdCB7IHJldHVybiBfdG9fbWFzdGVy OyB9CisgIEhBTkRMRSBmcm9tX3NsYXZlKCkgY29uc3QgeyByZXR1cm4gX2Zy b21fc2xhdmU7IH0KKyAgSEFORExFIHRvX3NsYXZlKCkgY29uc3QgeyByZXR1 cm4gX3RvX3NsYXZlOyB9CiAjaWZkZWYgX194ODZfNjRfXwogICB2b2lkIHNl dF9mcm9tX21hc3RlciAoSEFORExFIGgpIHsgX2Zyb21fbWFzdGVyID0gaDsg fQogICB2b2lkIHNldF90b19tYXN0ZXIgKEhBTkRMRSBoKSB7IF90b19tYXN0 ZXIgPSBoOyB9CisgIHZvaWQgc2V0X2Zyb21fc2xhdmUgKEhBTkRMRSBoKSB7 IF9mcm9tX3NsYXZlID0gaDsgfQorICB2b2lkIHNldF90b19zbGF2ZSAoSEFO RExFIGgpIHsgX3RvX3NsYXZlID0gaDsgfQogI2Vsc2UKICAgdm9pZCBzZXRf ZnJvbV9tYXN0ZXIgKEhBTkRMRSBoKSB7IF9mbV9kdW1teS5IaWdoUGFydCA9 IDA7IF9mcm9tX21hc3RlciA9IGg7IH0KICAgdm9pZCBzZXRfdG9fbWFzdGVy IChIQU5ETEUgaCkgeyBfdG1fZHVtbXkuSGlnaFBhcnQgPSAwOyBfdG9fbWFz dGVyID0gaDsgfQorICB2b2lkIHNldF9mcm9tX3NsYXZlIChIQU5ETEUgaCkg eyBfZnNfZHVtbXkuSGlnaFBhcnQgPSAwOyBfZnJvbV9zbGF2ZSA9IGg7IH0K KyAgdm9pZCBzZXRfdG9fc2xhdmUgKEhBTkRMRSBoKSB7IF90c19kdW1teS5I aWdoUGFydCA9IDA7IF90b19zbGF2ZSA9IGg7IH0KICNlbmRpZgogCiAgIGlu dCByZWFkX3JldHZhbDsK --Multipart=_Wed__4_Mar_2015_20_34_07_+0900_bJkFL26csFkYYCRa Content-Type: text/plain; charset=us-ascii -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --Multipart=_Wed__4_Mar_2015_20_34_07_+0900_bJkFL26csFkYYCRa--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |