delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-SWARE-Spam-Status: | No, hits=-1.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,T_FRT_STOCK2,T_TO_NO_BRKTS_FREEMAIL |
X-Spam-Check-By: | sourceware.org |
MIME-Version: | 1.0 |
In-Reply-To: | <20110418155405.GG25815@calimero.vinschen.de> |
References: | <BANLkTi=GgZfG_QwAWtyqAYQeqOwEbcSFLw AT mail DOT gmail DOT com> <BANLkTimkmQd86k2PwSzehBEcXt6y6H3kJQ AT mail DOT gmail DOT com> <20110418155405 DOT GG25815 AT calimero DOT vinschen DOT de> |
Date: | Wed, 20 Apr 2011 13:58:55 +0200 |
Message-ID: | <BANLkTi=mkaq2tBp-BO7MzM_Cvc05si4Dmw@mail.gmail.com> |
Subject: | Re: poll function don't release all windows handle / possible memory leak |
From: | Thomas Stalder <cygwinml AT gmail DOT com> |
To: | cygwin AT cygwin DOT com |
X-IsSubscribed: | yes |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.com> |
List-Unsubscribe: | <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT 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 |
--bcaec51b1ba7624f7304a158593d Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello, Thanks for the fix. I have made some tests with the CVS version and I don't have anymore not closed Handle, but I still have a memory leaks. I have made 2 testcases : $ gcc server.c -o server $ gcc server.c -Dnoleak -o servernoleak $ gcc client.c -o client I execute sever.exe and client.exe after 1 minute I have 2992Ko memory used by server.exe (see http://www.netsolux.ch/cyg/5.gif) after about 10 minutes I have 5156Ko memory used by server.exe (see http://www.netsolux.ch/cyg/6.gif) If I execute severnoleak.exe and client.exe I dont have memory leak. The memory leak seem to be in the poll (select) function. Regards, Thomas 2011/4/18 Corinna Vinschen > On Apr 18 11:35, Thomas Stalder wrote: >> Hello, >> >> I have found that poll function don't release all windows handle (with >> network socket) and generate memory leak. > > That's actually a pthread problem in conjunction with select (poll only > calls select under the hood). =A0I applied a fix to CVS. =A0Thanks for the > testcase! > > > Corinna > > -- > Corinna Vinschen =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0Please, send mails re= garding Cygwin to > Cygwin Project Co-Leader =A0 =A0 =A0 =A0 =A0cygwin AT cygwin DOT com > Red Hat > > -- > Problem reports: =A0 =A0 =A0 http://cygwin.com/problems.html > FAQ: =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http://cygwin.com/faq/ > Documentation: =A0 =A0 =A0 =A0 http://cygwin.com/docs.html > Unsubscribe info: =A0 =A0 =A0http://cygwin.com/ml/#unsubscribe-simple > > --bcaec51b1ba7624f7304a158593d Content-Type: text/x-csrc; charset=US-ASCII; name="server.c" Content-Disposition: attachment; filename="server.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gmq6u7gi0 I2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3NvY2tldC5o PgojaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiNpbmNsdWRlIDxuZXRpbmV0L2lu Lmg+CiNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+CiNpbmNsdWRlIDxuZXRpbmV0 L3RjcC5oPgojaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CiNpbmNsdWRlIDxuZXRk Yi5oPgojaW5jbHVkZSA8c3lzL3VuLmg+CiNpbmNsdWRlIDxlcnJuby5oPgoj aW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxwdGhyZWFkLmg+CiNpbmNs dWRlIDxmY250bC5oPgojaW5jbHVkZSA8cG9sbC5oPgojaW5jbHVkZSA8c3Rk bGliLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkYXJnLmg+ CgojZGVmaW5lIHBvcnQgODA4MgojZGVmaW5lIFJFUVVJUkVEX1NUQUNLX1NJ WkUgMjAwKjEwMjQKI2RlZmluZSBPSwkwCiNkZWZpbmUgTk9UX09LCSghT0sp CgoKcHRocmVhZF9tdXRleF90IG11dGV4X2xvZyA9IFBUSFJFQURfTVVURVhf SU5JVElBTElaRVI7CgppbnQgbG9nZ2VyKGNvbnN0IGNoYXIgKmZpbGUsIGNv bnN0IGNoYXIgKmZ1bmN0aW9uLCBpbnQgbGluZSwgY29uc3QgY2hhciAqZm10 LCAuLi4pCnsKICAgICAgICB2YV9saXN0IGFyZ2xpc3Q7CglwdGhyZWFkX211 dGV4X2xvY2soJm11dGV4X2xvZyk7CiAgICAgICAgZnByaW50ZihzdGRlcnIs ICIlcyAoJXMpIC0gbGluZSAlMDRkIDogIiwgZmlsZSwgZnVuY3Rpb24sIGxp bmUpOwogICAgICAgIHZhX3N0YXJ0KGFyZ2xpc3QsIGZtdCk7CiAgICAgICAg dmZwcmludGYoc3RkZXJyLCBmbXQsIGFyZ2xpc3QpOwogICAgICAgIHZhX2Vu ZChhcmdsaXN0KTsKICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlxuIik7Cglw dGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXhfbG9nKTsKICAgICAgICByZXR1 cm4gMDsKfQoKI2RlZmluZSBfbG9nKGZtdCwgLi4uKSBsb2dnZXIoX19GSUxF X18sIChjaGFyICopX19GVU5DVElPTl9fLCAgX19MSU5FX18sIGZtdCwgIyMg X19WQV9BUkdTX18pCgppbnQgY2xvc2Vfc29ja2V0X2ZkKGludCBmZCkgCnsK ICAgICAgICBpbnQgcmM7IAoKICAgICAgICBpZihmZCA8IDApCiAgICAgICAg ICAgICAgICByZXR1cm4gT0s7IAoKICAgICAgICByYyA9IHNodXRkb3duKGZk LCBTSFVUX1JEV1IpOwoKICAgICAgICByYyA9IGNsb3NlKGZkKTsKCiAgICAg ICAgaWYocmMpIHsKICAgICAgICAgICAgICAgIF9sb2coImNsb3NlICVkIDog JXMiLCBmZCwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgICB9ICAgCgogICAg ICAgIHJldHVybiBPSzsgCn0KCnN0YXRpYyB2b2lkICpzZXJ2ZXJ0aHJlYWQo dm9pZCAqcGFybSkKewoJc3RydWN0IHBvbGxmZCBwZmQ7CgljaGFyIGJ1ZmY7 CglpbnQgZmQgPSAoaW50KXBhcm07CglpbnQgcmM7CgojaWZkZWYgbm9sZWFr CglzbGVlcCgzKTsKCXJjID0gMTsKI2Vsc2UKCXBmZC5mZCA9IGZkOyAKCXBm ZC5ldmVudHMgPSBQT0xMSU4gfCBQT0xMUFJJOwoJcGZkLnJldmVudHMgPSAw OwoJcmMgPSBwb2xsKCZwZmQsIDEsIDMwMDApOwojZW5kaWYKCglpZiAocmMg PT0gMSkKCXsKCQlfbG9nKCJJQ0kgJWQiLCBmZCk7CgkJcmMgPSByZWFkKGZk LCAmYnVmZiwgMSk7CgkJX2xvZygicmVhZCAlZCBieXRlcyIsIHJjKTsKCX0K CgljbG9zZV9zb2NrZXRfZmQoZmQpOwogICAgICAgIHB0aHJlYWRfZXhpdCgw KTsKICAgICAgICByZXR1cm4gTlVMTDsJCn0KCmludCBjcmVhdGVfdGhyZWFk KHB0aHJlYWRfdCAqIHRocmVhZCwgdm9pZCAqIHRocmVhZF9mdW5jLCB2b2lk ICogYXJnLCB1bnNpZ25lZCBjaGFyIG11c3RfZGV0YWNoKQp7CiAgICAgICAg aW50IGVyciA9IE9LOyAKICAgICAgICBwdGhyZWFkX2F0dHJfdCBhdHRyOwog ICAgICAgIHB0aHJlYWRfdCBudWxsX3RocmVhZDsKICAgICAgICAvKiAgSW5p dGlhbGl6ZSB0aGUgYXR0cmlidXRlICovCiAgICAgICAgZXJyID0gcHRocmVh ZF9hdHRyX2luaXQoJmF0dHIpOwogICAgICAgIGlmKGVycikgewogICAgICAg ICAgICAgICAgX2xvZygicHRocmVhZF9hdHRyX2luaXQgZXJyPSVkOiAlcyIs IGVyciwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgICAgICAgICAgIHJldHVy biBOT1RfT0s7CiAgICAgICAgfSAgIAogICAgICAgIGVyciA9IHB0aHJlYWRf YXR0cl9zZXRpbmhlcml0c2NoZWQoJmF0dHIsIFBUSFJFQURfSU5IRVJJVF9T Q0hFRCk7CiAgICAgICAgaWYoZXJyKSB7CiAgICAgICAgICAgICAgICBfbG9n KCJwdGhyZWFkX2F0dHJfc2V0aW5oZXJpdHNjaGVkOiAlcyIsIHN0cmVycm9y KGVycm5vKSk7CiAgICAgICAgICAgICAgICBwdGhyZWFkX2F0dHJfZGVzdHJv eSgmYXR0cik7CiAgICAgICAgICAgICAgICByZXR1cm4gTk9UX09LOwogICAg ICAgIH0gICAKICAgICAgICBlcnIgPSBwdGhyZWFkX2F0dHJfc2V0c3RhY2tz aXplKCZhdHRyLCBSRVFVSVJFRF9TVEFDS19TSVpFKTsKICAgICAgICBpZihl cnIpIHsKICAgICAgICAgICAgICAgIF9sb2coInB0aHJlYWRfYXR0cl9zZXRz dGFja3NpemU6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgICAgICAg ICAgIHB0aHJlYWRfYXR0cl9kZXN0cm95KCZhdHRyKTsKICAgICAgICAgICAg ICAgIHJldHVybiBOT1RfT0s7CiAgICAgICAgfSAgIAogICAgICAgIGlmKG11 c3RfZGV0YWNoKSB7CiAgICAgICAgICAgICAgICBlcnIgPSBwdGhyZWFkX2F0 dHJfc2V0ZGV0YWNoc3RhdGUoJmF0dHIsIFBUSFJFQURfQ1JFQVRFX0RFVEFD SEVEKTsKICAgICAgICAgICAgICAgIGlmKGVycikgewogICAgICAgICAgICAg ICAgICAgICAgICBfbG9nKCJwdGhyZWFkX2F0dHJfc2V0ZGV0YWNoc3RhdGU6 ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgICAgICAgICAgICAgICAg ICAgcHRocmVhZF9hdHRyX2Rlc3Ryb3koJmF0dHIpOwogICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gTk9UX09LOwogICAgICAgICAgICAgICAgfSAg IAogICAgICAgIH0gICAKICAgICAgICAvKiAgQ3JlYXRlIHRoZSB0aHJlYWQg d2l0aCBvdXIgYXR0cmlidXRlICovCiAgICAgICAgZXJyID0gcHRocmVhZF9j cmVhdGUoKHRocmVhZCAhPSBOVUxMKSA/ICh0aHJlYWQpIDogKCZudWxsX3Ro cmVhZCksICZhdHRyLCB0aHJlYWRfZnVuYywgYXJnKTsKICAgICAgICBpZihl cnIpIHsKICAgICAgICAgICAgICAgIF9sb2coInB0aHJlYWRfY3JlYXRlOiAl cyIsIHN0cmVycm9yKGVycm5vKSk7CiAgICAgICAgICAgICAgICBwdGhyZWFk X2F0dHJfZGVzdHJveSgmYXR0cik7CiAgICAgICAgICAgICAgICByZXR1cm4g KGVycik7CiAgICAgICAgfSAgIAogICAgICAgIHB0aHJlYWRfYXR0cl9kZXN0 cm95KCZhdHRyKTsKICAgICAgICByZXR1cm4gT0s7IAp9CgppbnQgbWFpbih2 b2lkKQp7CiAgICAgICAgc3RydWN0IHNvY2thZGRyX2luIGFkZHI7CiAgICAg ICAgaW50IG5ld19zb2NrLCBvbjsKICAgICAgICBzdHJ1Y3QgcG9sbGZkIHBm ZDsKICAgICAgICBpbnQgZmQ7CiAgICAgICAgc29ja2xlbl90IGFkZHJsZW47 CglpbnQgcmV0LCByYzsKCiAgICAgICAgYWRkci5zaW5fZmFtaWx5ID0gQUZf SU5FVDsKICAgICAgICBhZGRyLnNpbl9wb3J0ID0gaHRvbnMocG9ydCk7CiAg ICAgICAgYWRkci5zaW5fYWRkci5zX2FkZHIgPSBJTkFERFJfQU5ZOwogICAg ICAgIG1lbXNldCgmKGFkZHIuc2luX3plcm8pLCAnXDAnLCA4KTsKICAgICAg ICBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19U Q1ApOwoKICAgICAgICBpZihmZCA8IDApIHsKICAgICAgICAgICAgICAgIF9s b2coInNvY2tldCA6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgICAg ICAgICAgIHJldHVybiBOT1RfT0s7CiAgICAgICAgfSBlbHNlIHsKICAgICAg ICAgICAgICAgIF9sb2coIlNvY2tldCBPSyIpOwogICAgICAgIH0KCiAgICAg ICAgb24gPSAxOwogICAgICAgIHJldCA9IHNldHNvY2tvcHQoZmQsIFNPTF9T T0NLRVQsIFNPX1JFVVNFQUREUiwgJm9uLCBzaXplb2Yob24pKTsKCiAgICAg ICAgaWYocmV0IDwgMCkgewogICAgICAgICAgICAgICAgX2xvZygic2V0c29j a29wdCA6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgICB9CgogICAg ICAgIHJldCA9IC0xOwoKICAgICAgICB3aGlsZShyZXQgPCAwKSB7CiAgICAg ICAgICAgICAgICByZXQgPSBiaW5kKGZkLCAoc3RydWN0IHNvY2thZGRyICop ICYgYWRkciwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbikpOwoKICAgICAg ICAgICAgICAgIGlmKHJldCA8IDApIHsKICAgICAgICAgICAgICAgICAgICAg ICAgX2xvZygiYmluZCA6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAg ICAgICAgICAgICAgICAgICAgc2xlZXAoMSk7CiAgICAgICAgICAgICAgICAg ICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX3NvY2tldChs aXN0ZW5fc29ja2V0KTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAg ICAgICAgICAgICAgICAgICAgIF9sb2coIkJpbmQgT0sgb24gcG9ydCAlZCIs IHBvcnQpOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAg cmV0ID0gbGlzdGVuKGZkLCAxKTsKCiAgICAgICAgaWYocmV0ICE9IDApIHsK ICAgICAgICAgICAgICAgIF9sb2coImxpc3RlbiA6ICVzIiwgc3RyZXJyb3Io ZXJybm8pKTsKICAgICAgICAgICAgICAgIGNsb3NlX3NvY2tldF9mZChmZCk7 CiAgICAgICAgICAgICAgICByZXR1cm4gTk9UX09LOwogICAgICAgIH0gZWxz ZSB7CiAgICAgICAgICAgICAgICBfbG9nKCJMaXN0ZW4gT0sgb24gcG9ydCAl ZCIsIHBvcnQpOwogICAgICAgIH0KCiAgICAgICAgd2hpbGUoMSkgewogICAg ICAgICAgICAgICAgYWRkcmxlbiA9IHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJf aW4pOwogICAgICAgICAgICAgICAgcGZkLmZkID0gZmQ7CiAgICAgICAgICAg ICAgICBwZmQuZXZlbnRzID0gUE9MTElOIHwgUE9MTFBSSTsKICAgICAgICAg ICAgICAgIHBmZC5yZXZlbnRzID0gMDsKICAgICAgICAgICAgICAgIHJjID0g cG9sbCgmcGZkLCAxLCAyMDAwKTsKCiAgICAgICAgICAgICAgICBpZihyYyA9 PSAtMSkgewogICAgICAgICAgICAgICAgICAgICAgICBfbG9nKCJwb2xsIDog JXMiLCBzdHJlcnJvcihlcnJubykpOwogICAgICAgICAgICAgICAgICAgICAg ICBzbGVlcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7 CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihwZmQucmV2 ZW50cyA9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl OwoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBuZXdfc29j ayA9IGFjY2VwdChmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSAmIGFkZHIsICZh ZGRybGVuKTsKCiAgICAgICAgICAgICAgICBpZihuZXdfc29jayA8IDApIHsK ICAgICAgICAgICAgICAgICAgICAgICAgX2xvZygiYWNjZXB0IDogJXMiLCBz dHJlcnJvcihlcnJubykpOwogICAgICAgICAgICAgICAgICAgICAgICBjbG9z ZV9zb2NrZXRfZmQobmV3X3NvY2spOwogICAgICAgICAgICAgICAgfSBlbHNl IHsKICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxpbmdlciBsaW5n ZXI7CiAgICAgICAgICAgICAgICAgICAgICAgIGludCBvcHRpb247CiAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0aW1ldmFsIHdhaXRfdGltZW91 dDsKICAgICAgICAgICAgICAgICAgICAgICAgX2xvZygiVGhlIGNsaWVudCAl cyBhcmUgIGNvbm5lY3RlZCIsIGluZXRfbnRvYShhZGRyLnNpbl9hZGRyKSk7 CgkJCXJldCA9IGNyZWF0ZV90aHJlYWQoTlVMTCwgIHNlcnZlcnRocmVhZCwg KHZvaWQgKikgbmV3X3NvY2ssIDEpOwoKCQkJaWYocmV0IDwgMCkgewoJCQkJ X2xvZygiSW1wb3NzaWJsZSBkZSBkZW1hcnJlciBsZSB0aHJlYWQgY2xpZW50 IHN1ciBsZSBwb3J0ICVkIiwgcG9ydCk7CgkJCQljbG9zZV9zb2NrZXRfZmQo bmV3X3NvY2spOwoJCQl9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQoK ICAgICAgICByZXR1cm4gTk9UX09LOwp9Cg== --bcaec51b1ba7624f7304a158593d Content-Type: text/x-csrc; charset=US-ASCII; name="client.c" Content-Disposition: attachment; filename="client.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gmq6u8oi1 I2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3NvY2tldC5o PgojaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiNpbmNsdWRlIDxuZXRpbmV0L2lu Lmg+CiNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+CiNpbmNsdWRlIDxuZXRpbmV0 L3RjcC5oPgojaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CiNpbmNsdWRlIDxuZXRk Yi5oPgojaW5jbHVkZSA8c3lzL3VuLmg+CiNpbmNsdWRlIDxlcnJuby5oPgoj aW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxwdGhyZWFkLmg+CiNpbmNs dWRlIDxmY250bC5oPgojaW5jbHVkZSA8cG9sbC5oPgojaW5jbHVkZSA8c3Rk bGliLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkYXJnLmg+ CgojZGVmaW5lIHBvcnQgODA4MgojZGVmaW5lIE9LCTAKI2RlZmluZSBOT1Rf T0sJKCFPSykKCmludCBtYWluKHZvaWQpCnsKICAgICAgICBzdHJ1Y3Qgc29j a2FkZHJfaW4gYWRkcjsKICAgICAgICBpbnQgc29jazsKICAgICAgICBzb2Nr bGVuX3QgYWRkcmxlbjsKCXN0cnVjdCBob3N0ZW50ICpoOyAKCWludCByZXQ7 CgpzdGFydDoKCiAgICAgICAgbWVtc2V0KChjaGFyICopJmFkZHIsICcwJywg c2l6ZW9mKGFkZHIpKTsKICAgICAgICBhZGRyLnNpbl9mYW1pbHkgPSBBRl9J TkVUOwogICAgICAgIGFkZHIuc2luX3BvcnQgPSBodG9ucyhwb3J0KTsKICAg ICAgICBoID0gZ2V0aG9zdGJ5bmFtZSgiMTI3LjAuMC4xIik7CgltZW1jcHko KGNoYXIgKikgJiAoYWRkci5zaW5fYWRkciksIGgtPmhfYWRkciwgaC0+aF9s ZW5ndGgpOwoJc29jayA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwg MCk7CgoJcmV0ID0gY29ubmVjdChzb2NrLCAoc3RydWN0IHNvY2thZGRyICop ICYgYWRkciwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbikpOwoKCWlmIChy ZXQgPT0gMCkKCXsKCQl3cml0ZShzb2NrLCAiYSIsIDEpOwoJfQoJY2xvc2Uo c29jayk7Cglnb3RvIHN0YXJ0Owp9Cg== --bcaec51b1ba7624f7304a158593d 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 --bcaec51b1ba7624f7304a158593d--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |