delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/12/09/01:02:54

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
X-Originating-IP: [203.94.167.77]
X-Originating-Email: [arashp AT hotmail DOT com]
X-Sender: arashp AT hotmail DOT com
From: "Arash Partow" <arashp AT hotmail DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Problem with pthreads and signaling - Attachment
Date: Tue, 09 Dec 2003 06:02:38 +0000
Mime-Version: 1.0
Message-ID: <BAY9-F49W9qmqpWDGlk0003052b@hotmail.com>
X-OriginalArrivalTime: 09 Dec 2003 06:02:38.0444 (UTC) FILETIME=[0C7CD2C0:01C3BE1A]

------=_NextPart_000_23eb_2015_3c19
Content-Type: text/plain; format=flowed

Hi Chris,

I forgot to attach the ThreadTestPrototype.cpp file in
my previous post, here it is if you would like to have
a fiddle with it.


Regards


Arash Partow




__________________________________________________
Be one who knows what they don't know,
Instead of being one who knows not what they don't know,
Thinking they know everything about all things.
http://www.partow.net






>>I must admit that I'm mystified as to what this test is trying to 
>>accomplish
>>but I've modified it so that it will terminate more quickly when a
>>signal is delivered, rather than continuing to create threads after
>>CTRL-C is pressed and added some more debugging output.
>>
>>I've attached the modified source to this message.  I also modified the
>>Makefile so that it created ThreadTest.exe by default.
>>
>>cgf

_________________________________________________________________
Hot chart ringtones and polyphonics. Go to  
http://ninemsn.com.au/mobilemania/default.asp

------=_NextPart_000_23eb_2015_3c19
Content-Type: application/octet-stream; name="ThreadTestPrototype.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ThreadTestPrototype.cpp"

LyoNCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqDQogKiBUaHJlYWQtVGVzdCBQcm90b3R5cGUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKg0KICogQnkgQXJhc2ggUGFydG93ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCiAqIENvcHlyaWdo
dCBBcmFzaCBQYXJ0b3cgMjAwMi0yMDAzICAgICAgICAgICAgICAgICAqDQog
KiBBbGwgUmlnaHQgUmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKg0KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioNCiovDQoNCiNpbmNsdWRlIDxpb3N0cmVhbT4N
CiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRlIDx2ZWN0b3I+DQojaW5j
bHVkZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRl
IDx1bmlzdGQuaD4NCiNpbmNsdWRlIDxzaWduYWwuaD4NCiNpbmNsdWRlIDx3
aW5kb3dzLmg+DQojaW5jbHVkZSAiU3RyaW5nVG9rZW5pemVyLmgiDQojaW5j
bHVkZSAiVGhyZWFkLmgiDQojaW5jbHVkZSAiTXV0ZXguaCINCg0KDQpjb25z
dCAgICBpbnQgTUFYX1RIUkVBRFMgPSA3MDA7DQp1bnNpZ25lZCBpbnQgTUFY
X1RIUkVBRF9DUkVBVEUgPSA5OTk5OTk5OTk7DQoNCk11dGV4KiAgICAgICBw
cmludGxuTXV0ZXggICAgICA9IE5VTEw7DQoNCg0Kdm9pZCBzaWdwcm9jKGlu
dCBzaWcpOw0Kc3RyaW5nIGZvcm1hdFVJbnQoaW50IHZhbCwgdW5zaWduZWQg
aW50IGxlbik7DQpib29sIHByaW50bG4oc3RyaW5nIHN0cik7DQoNCg0KDQpj
bGFzcyBUZXN0VGhyZWFkOiBwdWJsaWMgVGhyZWFkDQp7DQogICBwdWJsaWM6
DQoNCiAgICBUZXN0VGhyZWFkKGludCBfaWQpOlRocmVhZCgpDQogICAgew0K
ICAgICAgaWQgPSBfaWQ7DQogICAgfTsNCg0KICAgflRlc3RUaHJlYWQoKQ0K
ICAgIHsNCiAgICB9Ow0KDQoNCiAgICBzdHJpbmcgcmV2ZXJzZVN0cmluZyhz
dHJpbmcgc3RyKQ0KICAgIHsNCg0KDQogICAgICAgY2hhciB0ZW1wY2g7DQoN
Cg0KICAgICAgIC8qIFJldmVyc2UgdGhlIHN0cmluZyAqLw0KICAgICAgIGZv
cih1bnNpZ25lZCBpbnQgaT0wOyBpIDwgKHN0ci5sZW5ndGgoKS8yKTsgaSsr
KQ0KICAgICAgIHsNCiAgICAgICAgICB0ZW1wY2ggPSBzdHJbaV07DQogICAg
ICAgICAgc3RyW2ldID0gc3RyW3N0ci5sZW5ndGgoKS1pLTFdOw0KICAgICAg
ICAgIHN0cltzdHIubGVuZ3RoKCktaS0xXSA9IHRlbXBjaDsNCg0KICAgICAg
IH0NCg0KICAgICAgIHJldHVybiBzdHI7DQoNCiAgICB9Ow0KDQoNCg0KICAg
IHN0cmluZyBwYWxpbmRyb21lKHN0cmluZyBzdHIpDQogICAgew0KDQogICAg
ICAgc3RyaW5nIHRlbXBTdHIgPSBzdHI7DQogICAgICAgY2hhciB0ZW1wY2g7
DQoNCiAgICAgICAvKiBSZXZlcnNlIHRoZSBzdHJpbmcgKi8NCiAgICAgICBm
b3IodW5zaWduZWQgaW50IGk9MDsgaSA8IChzdHIubGVuZ3RoKCkvMik7IGkr
KykNCiAgICAgICB7DQoNCiAgICAgICAgICB0ZW1wY2ggPSBzdHJbaV07DQog
ICAgICAgICAgc3RyW2ldID0gc3RyW3N0ci5sZW5ndGgoKS1pLTFdOw0KICAg
ICAgICAgIHN0cltzdHIubGVuZ3RoKCktaS0xXSA9IHRlbXBjaDsNCg0KICAg
ICAgIH0NCg0KICAgICAgIC8qIFByb2R1Y2UgcGFsaW5kcm9tZSAqLw0KICAg
ICAgIHN0ciA9IHRlbXBTdHIgKyBzdHI7DQoNCiAgICAgICByZXR1cm4gc3Ry
Ow0KDQogICAgfTsNCg0KDQoNCiAgICB2b2lkIGV4ZWN1dGUoKQ0KICAgIHsN
Cg0KICAgICAgIHN0cmluZyBkYXRhID0gImFhYWE6YmJiYjpjY2M6ZGRkZDpl
ZWU6IjsNCg0KICAgICAgIC8qIEJ1aWxkIGEgcmVhbGx5IGxhcmdlIHN0cmlu
ZyAgKi8NCiAgICAgICBmb3IgKGludCBpPTA7IGkgPCAxMDA7IGkrKykgZGF0
YSArPSAiYWFhYTpiYmJiOmNjYzpkZGRkOmVlZToiOw0KDQogICAgICAgU3Ry
aW5nVG9rZW5pemVyIHN0cnRvayA9IFN0cmluZ1Rva2VuaXplcihkYXRhLCI6
Iik7DQoNCiAgICAgICAvKiBHZXQgZWFjaCB0b2tlbiBpbiB0aGUgc3RyaW5n
ICAqLw0KICAgICAgIHdoaWxlIChzdHJ0b2suaGFzTW9yZVRva2VucygpKQ0K
ICAgICAgIHsNCg0KICAgICAgICAgIHN0cmluZyB0b2tlbiA9IHN0cnRvay5u
ZXh0VG9rZW4oKTsNCiAgICAgICAgICANCiAgICAgICAgICB0b2tlbiA9IHJl
dmVyc2VTdHJpbmcodG9rZW4pOw0KICAgICAgICAgIHRva2VuID0gcGFsaW5k
cm9tZSh0b2tlbik7DQoNCiAgICAgICB9DQogICAgICAgDQogICAgICAgcHJp
bnRsbigiVGhyZWFkIFsiK2Zvcm1hdFVJbnQoaWQsNykrIl0gQ29tcGxldGVk
LiIpOw0KICAgICAgIA0KICAgIH07DQoNCg0KICBwcml2YXRlOg0KDQogICBp
bnQgaWQ7DQoNCn07DQoNCg0KDQp0eXBlZGVmIHZlY3RvciA8VGVzdFRocmVh
ZCo+IFRocmVhZExpc3Q7DQpUaHJlYWRMaXN0IHRocmVhZExpc3Q7DQoNCmNs
YXNzIEdhcmJhZ2VDb2xsZWN0b3I6IHB1YmxpYyBUaHJlYWQNCnsNCg0KICAg
cHVibGljOg0KDQogICAgR2FyYmFnZUNvbGxlY3RvcigpDQogICAgew0KDQog
ICAgICAga2VlcFJ1bm5pbmcgICAgID0gdHJ1ZTsNCiAgICAgICBjbGVhbnVw
Q29tcGxldGUgPSBmYWxzZTsNCg0KICAgIH07DQoNCiAgIH5HYXJiYWdlQ29s
bGVjdG9yKCkNCiAgICB7DQoNCiAgICB9Ow0KDQoNCiAgICB2b2lkIHRlcm1p
bmF0ZSgpDQogICAgew0KDQogICAgICAga2VlcFJ1bm5pbmcgPSBmYWxzZTsN
Cg0KICAgIH07DQoNCg0KICAgIGJvb2wgdGVybWluYXRlU3RhdGUoKQ0KICAg
IHsNCg0KICAgICAgIHJldHVybiAoIWtlZXBSdW5uaW5nKTsNCg0KICAgIH07
DQoNCg0KICAgIGJvb2wgaXNDbGVhbnVwQ29tcGxldGUoKQ0KICAgIHsNCg0K
ICAgICAgIHJldHVybiBjbGVhbnVwQ29tcGxldGU7DQoNCiAgICB9Ow0KDQoN
CiAgICB2b2lkIGV4ZWN1dGUoKQ0KICAgIHsNCg0KDQogICAgICAgdW5zaWdu
ZWQgaW50IGNvdW50ID0gTUFYX1RIUkVBRFM7DQoNCg0KICAgICAgIHdoaWxl
KGtlZXBSdW5uaW5nICYmIChjb3VudCA8PSBNQVhfVEhSRUFEX0NSRUFURSkp
DQogICAgICAgew0KDQoNCiAgICAgICAgICB2ZWN0b3IgPGludD4gZGVsUG9z
Ow0KDQogICAgICAgICAgLyogRmluZCBhbGwgdGhlIGN1cnJlbnQgZGVhZCB0
aHJlYWRzICovDQogICAgICAgICAgZm9yKHVuc2lnbmVkIGludCBpPTA7IGkg
PCB0aHJlYWRMaXN0LnNpemUoKTsgaSsrKQ0KICAgICAgICAgIHsNCg0KICAg
ICAgICAgICAgIGlmICh0aHJlYWRMaXN0W2ldLT5nZXRUaHJlYWRTdGF0ZSgp
ID09IFRIUkVBRF9ERUFEKSBkZWxQb3MucHVzaF9iYWNrKGkpOw0KDQogICAg
ICAgICAgfQ0KDQogICAgICAgICAgLyogUmVjYWxpYnJhdGUgZGVsZXRpb24g
cG9zaXRpb25zICovDQogICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaT0x
OyBpIDwgZGVsUG9zLnNpemUoKTsgaSsrKQ0KICAgICAgICAgIHsNCg0KICAg
ICAgICAgICAgIGRlbFBvc1tpXS09aTsNCg0KICAgICAgICAgIH0NCg0KICAg
ICAgICAgIGZvciAodW5zaWduZWQgaW50IGk9MDsgLyprZWVwUnVubmluZyAm
JiovIGkgPCBkZWxQb3Muc2l6ZSgpOyBpKyspDQogICAgICAgICAgew0KDQog
ICAgICAgICAgICAgY291bnQrKzsNCg0KICAgICAgICAgICAgIC8qIEVyYXNl
IHRocmVhZCBhbmQgZnJlZS11cCBtZW1vcnkgKi8NCiAgICAgICAgICAgICBp
Zih0aHJlYWRMaXN0W2RlbFBvc1tpXV0gIT0gTlVMTCkgZGVsZXRlIHRocmVh
ZExpc3RbZGVsUG9zW2ldXTsNCiAgICAgICAgICAgICB0aHJlYWRMaXN0LmVy
YXNlKHRocmVhZExpc3QuYmVnaW4oKStkZWxQb3NbaV0pOw0KDQoNCiAgICAg
ICAgICAgICAvKiBDcmVhdGUgYSBuZXcgdGhyZWFkIHRvIHRha2UgdXAgdGhl
IGp1c3QgZWFyc2VkIHRocmVhZCAqLw0KICAgICAgICAgICAgIFRlc3RUaHJl
YWQqIHRlbXBUaHJlYWQgPSBuZXcgVGVzdFRocmVhZChjb3VudCk7DQoNCiAg
ICAgICAgICAgICBpZiAodGVtcFRocmVhZCAhPSBOVUxMKQ0KICAgICAgICAg
ICAgIHsNCg0KICAgICAgICAgICAgICAgIC8qIEFkZCBuZXcgdGhyZWFkIHRv
IGxpc3QgYW5kIHByaW50IG91dCBpbmZvIGFib3V0IGN1cnJlbnQgdGhyZWFk
IGNvdW50ICovDQogICAgICAgICAgICAgICAgaW50IHJlc3VsdCA9IHRlbXBU
aHJlYWQtPnN0YXJ0KCk7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkN
CiAgICAgICAgICAgICAgICB7DQogICANCiAgICAgICAgICAgICAgICAgICBk
ZWxldGUgdGVtcFRocmVhZDsNCiAgICAgICAgICAgICAgICAgICANCiAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAg
ICAgICAgIHsNCiAgICAgICAgICAgICAgICAJDQogICAgICAgICAgICAgICAg
ICAgLy9jb3V0IDw8ICJDcmVhdGVkIG5ldyB0aHJlYWQhIFsiIDw8IGZvcm1h
dFVJbnQoY291bnQsOSkgPDwgIl0gICAgUmVzdWx0OiAiIDw8IHJlc3VsdCA8
PCBlbmRsOw0KICAgICAgICAgICAgICAgICAgIHByaW50bG4oIkNyZWF0ZWQg
bmV3IHRocmVhZCEgKCIrZm9ybWF0VUludChrZWVwUnVubmluZywxKSsiKSBb
IiArIGZvcm1hdFVJbnQoY291bnQsOSkgKyAiXSAgICBSZXN1bHQ6ICIrIGZv
cm1hdFVJbnQocmVzdWx0LDEpKTsNCiAgICAgICAgICAgICAgICAgICB0aHJl
YWRMaXN0LnB1c2hfYmFjayh0ZW1wVGhyZWFkKTsNCiAgICAgICAgICAgICAg
ICB9DQoNCiAgICAgICAgICAgICB9DQoNCg0KICAgICAgICAgIH0NCg0KICAg
ICAgICAgIGRlbFBvcy5jbGVhcigpOw0KDQogICAgICB9DQoNCiAgICAgICBj
b3V0IDw8ICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiB0
aHJlYWQgbG9vcCB0ZXJtaW5hdGVkLCBrZWVwUnVubmluZyA9ICIgPDwga2Vl
cFJ1bm5pbmcgPDwgIlxuIjsNCiAgICAgICBjb3V0LmZsdXNoICgpOw0KDQog
ICAgICAvKiBjbGVhbiB1cCBhbnkgcmVtYWluaW5nIHRocmVhZHMgKi8NCg0K
ICAgICAgd2hpbGUodGhyZWFkTGlzdC5zaXplKCkgPiAwKQ0KICAgICAgew0K
DQoNCiAgICAgICAgIHZlY3RvciA8aW50PiBkZWxQb3M7DQoNCiAgICAgICAg
IGZvcih1bnNpZ25lZCBpbnQgaT0wOyBpIDwgdGhyZWFkTGlzdC5zaXplKCk7
IGkrKykNCiAgICAgICAgIHsNCg0KICAgICAgICAgICAgaWYgKHRocmVhZExp
c3RbaV0tPmdldFRocmVhZFN0YXRlKCkgPT0gVEhSRUFEX0RFQUQpIGRlbFBv
cy5wdXNoX2JhY2soaSk7DQoNCiAgICAgICAgIH0NCg0KICAgICAgICAgLyog
UmVjYWxpYnJhdGUgZGVsZXRpb24gcG9zaXRpb25zICovDQoNCiAgICAgICAg
IGZvciAodW5zaWduZWQgaW50IGk9MTsgaSA8IGRlbFBvcy5zaXplKCk7IGkr
KykNCiAgICAgICAgIHsNCg0KICAgICAgICAgICAgZGVsUG9zW2ldLT1pOw0K
DQogICAgICAgICB9DQoNCg0KICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQg
aT0wOyBpIDwgZGVsUG9zLnNpemUoKTsgaSsrKQ0KICAgICAgICAgew0KDQog
ICAgICAgICAgICAvKiBFcmFzZSB0aHJlYWQgYW5kIGZyZWUtdXAgbWVtb3J5
ICovDQogICAgICAgICAgICBkZWxldGUgdGhyZWFkTGlzdFtkZWxQb3NbaV1d
Ow0KICAgICAgICAgICAgdGhyZWFkTGlzdC5lcmFzZSh0aHJlYWRMaXN0LmJl
Z2luKCkrZGVsUG9zW2ldKTsNCg0KICAgICAgICAgfQ0KDQogICAgICAgICBk
ZWxQb3MuY2xlYXIoKTsNCg0KDQogICAgICB9DQoNCg0KDQogICAgICBpZiAo
dGhyZWFkTGlzdC5zaXplKCkgPT0gMCkgY2xlYW51cENvbXBsZXRlID0gdHJ1
ZTsNCg0KDQogICB9DQoNCg0KICAgIGJvb2wgIGtlZXBSdW5uaW5nOw0KICAg
cHJpdmF0ZToNCiAgICBib29sICBjbGVhbnVwQ29tcGxldGU7DQoNCn07DQoN
Cg0KDQoNCkdhcmJhZ2VDb2xsZWN0b3IqIGdjOw0KDQppbnQgbWFpbihpbnQg
YXJnYywgY2hhciAqYXJndltdKQ0Kew0KDQogICBzaWduYWwoU0lHSU5ULCBz
aWdwcm9jKTsNCiAgIHByaW50ZiAoIlBJRCAldVxuIiwgR2V0Q3VycmVudFBy
b2Nlc3NJZCAoKSk7DQogICAvL3NsZWVwICgxMCk7DQogICANCiAgIC8qIENy
ZWF0ZSBQcmludGxuIG11dGV4ICovDQogICBwcmludGxuTXV0ZXggPSBuZXcg
TXV0ZXgoKTsNCg0KDQogICAvKiBTZXR1cCB0aGUgZ2FyYmFnZSB0aHJlYWQg
Y29sbGVjdG9yICovDQogICBnYyA9IG5ldyBHYXJiYWdlQ29sbGVjdG9yKCk7
DQoNCiAgIGlmIChhcmdjID09IDIpDQogICB7DQoNCiAgICAgIE1BWF9USFJF
QURfQ1JFQVRFID0gYXRvaShhcmd2WzFdKTsNCiAgICAgIGNvdXQgPDwgIk1h
eGltdW0gdGhyZWFkcyB0byBiZSBjcmVhdGVkOiAiIDw8IE1BWF9USFJFQURf
Q1JFQVRFIDw8IGVuZGw7DQoNCiAgIH0NCg0KICAgY291dCA8PCJDcmVhdGlu
ZyB0aHJlYWRzIiA8PCBlbmRsOw0KICAgLy9zbGVlcCAoMik7DQoNCiAgIC8q
DQogICAgICBjcmVhdGUgdGhlIGluaXRpYWwgTUFYX1RIUkVBRCB0aHJlYWRz
IGFuZCBhZGQNCiAgICAgIHRoZW0gdG8gdGhlIHRocmVhZCBsaXN0DQogICAq
Lw0KICAgZm9yKGludCBpPTA7IC8qZ2MtPmtlZXBSdW5uaW5nICYmKi8gaSA8
IE1BWF9USFJFQURTOyBpKyspDQogICB7DQogICAgICBUZXN0VGhyZWFkKiB0
ZW1wVGhyZWFkID0gbmV3IFRlc3RUaHJlYWQoaSk7DQogICAgICB0aHJlYWRM
aXN0LnB1c2hfYmFjayh0ZW1wVGhyZWFkKTsNCiAgIH0NCg0KDQogICBjb3V0
IDw8IlN0YXJ0aW5nIHRocmVhZHMiIDw8IGVuZGw7DQogICAvL3NsZWVwICgy
KTsNCiAgIC8qDQogICAgIEhhdmUgYWxsIHRoZSBuZXdseSBjcmVhdGVkIHRo
cmVhZHMgc3RhcnQuDQogICAqLw0KICAgZm9yKHVuc2lnbmVkIGludCBpPTA7
IGdjLT5rZWVwUnVubmluZyAmJiBpIDwgdGhyZWFkTGlzdC5zaXplKCk7IGkr
KykNCiAgIHsNCg0KICAgICAgdGhyZWFkTGlzdFtpXS0+c3RhcnQoKTsNCiAg
ICAgIHByaW50bG4oIkNyZWF0ZWQgbmV3IHRocmVhZCEgWyIgKyBmb3JtYXRV
SW50KGksOSkgKyAiXX4iKTsNCiAgICAgIA0KDQogICB9DQoNCiAgIGNvdXQg
PDwgIkluaXRpYWxpemUgZ2FyYmFnZSBjb2xsZWN0b3IiIDw8IGVuZGw7DQog
ICBjb3V0LmZsdXNoICgpOw0KICAgLy9zbGVlcCAoNSk7DQoNCiAgIC8qIElu
aXRpYWxpc2UgZ2FyYmFnZSBjb2xsZWN0b3IgKi8NCiAgIGdjLT5zdGFydCgp
Ow0KDQoNCiAgIC8qDQogICAgICBwdXQgbWFpbiB0aHJlYWQgdG8gc2xlZXAN
CiAgICovDQogICB3aGlsZSghZ2MtPmlzQ2xlYW51cENvbXBsZXRlKCkpIHNs
ZWVwKDEpOw0KDQoNCg0KICAgY291dCA8PCBlbmRsIDw8ICJUaHJlYWQtVGVz
dCBoYXMgYmVlbiBjb21wbGV0ZWQuIiA8PCBlbmRsOw0KICAgY291dCAgICAg
ICAgIDw8ICJIYXZlIGEgbmljZSBkYXkuLi4uIiA8PCBlbmRsOw0KDQogICBl
eGl0KEVYSVRfU1VDQ0VTUyk7DQogICByZXR1cm4gMTsNCg0KfQ0KDQoNCg0K
dm9pZCBzaWdwcm9jKGludCBzaWcpDQp7DQoNCiAgIHNpZ25hbChTSUdJTlQs
IHNpZ3Byb2MpOw0KDQoNCg0KDQogICBpZiAoZ2MgIT0gTlVMTCkNCiAgIHsN
Cg0KICAgICAgLyogRG9uJ3QgY2FsbCB0ZXJtaW5hdGUgaWYgYWxyZWFkeSBp
biB0ZXJtaW5hdGUgc3RhdGUgKi8NCiAgICAgIGlmIChnYy0+dGVybWluYXRl
U3RhdGUoKSkgcmV0dXJuOw0KDQogICAgICBjb3V0IDw8IGVuZGwgPDwgZW5k
bCA8PCBlbmRsIDw8IGVuZGwgPDwgZW5kbCA8PCAiPj4+Pj4+Pj4+Pj4+Pj4+
PiAgUHJvY2Vzc2luZyBzaHV0ZG93biBwcm9jZWR1cmUuLi4iIDw8IGVuZGwg
PDwgZW5kbCA8PCBlbmRsIDw8IGVuZGwgPDwgZW5kbDsNCiAgICAgIGNvdXQu
Zmx1c2goKTsNCiAgICAgIGdjLT50ZXJtaW5hdGUoKTsNCiAgICAgIGNvdXQg
PDwgIj4+Pj4+Pj4+Pj4+Pj4+Pj4gIERvbmUuIiA8PCBlbmRsOw0KICAgfQ0K
fQ0KDQoNCnN0cmluZyBmb3JtYXRVSW50KGludCB2YWwsIHVuc2lnbmVkIGlu
dCBsZW4pDQp7DQoNCiAgIHN0cmluZyB0ZW1wU3RyID0gIiI7DQoNCiAgIGNo
YXIgYnVmWzEwMF07DQogICBzcHJpbnRmKGJ1ZiwiJWQiLHZhbCk7DQogICB0
ZW1wU3RyID0gIGJ1ZjsNCg0KICAgd2hpbGUodGVtcFN0ci5sZW5ndGgoKSA8
IGxlbikNCiAgIHsNCg0KICAgICAgdGVtcFN0ciA9ICIwIiArIHRlbXBTdHI7
DQoNCiAgIH0NCg0KDQogICByZXR1cm4gdGVtcFN0cjsNCg0KfQ0KDQpib29s
IHByaW50bG4oc3RyaW5nIHN0cikNCnsNCg0KICAgcHJpbnRsbk11dGV4LT5s
b2NrKCk7DQogICBjb3V0IDw8IHN0ciA8PCBlbmRsOw0KICAgY291dC5mbHVz
aCgpOw0KICAgcHJpbnRsbk11dGV4LT51bmxvY2soKTsNCiAgIHJldHVybiB0
cnVlOw0KDQp9DQoNCg0K



------=_NextPart_000_23eb_2015_3c19
Content-Type: text/plain; charset=us-ascii

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/
------=_NextPart_000_23eb_2015_3c19--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019