delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/10/27/15:07:11

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:from:to:subject:date:message-id:references
:in-reply-to:content-type:mime-version; q=dns; s=default; b=HyCY
nA4jkXVzqmdhjSV01uPcF/65c5T1FlYWOxXQ/jUfvNxAPF8/a1BaAqfJRcXCchGS
G6OWmWcILcWB16iFB+h9SJNahViu6f/wlv6AwdfG3oORpOyOg4y/H93vMcALZJtx
smsxPXF3rcC7ZHzBclpYEr1m1lk+S7LU4XOxjGk=
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:from:to:subject:date:message-id:references
:in-reply-to:content-type:mime-version; s=default; bh=qokqEmDEih
loFiR0e23udEaJTMM=; b=A6pcNQTwoWCNAEGgDp5tAu8CGelMgYWUywyY0MfyWh
PMlTbOQgaKiIArSgDjeFYGXkl6yA76kgzUTrl63EievyogWY3bebvrSjjpGxdBEU
d9W8JV9Pl7vmdsdw3sXG8+yUkymiomVITQp/pZsPLqAWJFxvJ1cUpScY4JirEYDy
U=
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.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2
X-HELO: gwo1.mbox.net
X-USANET-Received: from gwo1.mbox.net [127.0.0.1] by gwo1.mbox.net via mtad (C8.MAIN.4.02J) with ESMTP id 345TJATgS3968Mo1; Tue, 27 Oct 2015 19:06:44 -0000
X-USANET-Routed: 5 gwsout-gwsd Q:gwsd
X-USANET-Routed: 3 gwsout-vs Q:bmvirus
X-USANET-GWS2-Tenant: electric-cloud.com
X-USANET-GWS2-Tagid: ECLD
X-USANET-Source: 165.212.120.254 OUT aeolus AT electric-cloud DOT com S1P5HUB1.EXCHPROD.USA.NET TLS
X-USANET-MsgId: XID199TJATgS1386Xo1
From: John Carey <aeolus AT electric-cloud DOT com>
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Subject: RE: pthread_kill: signals remain pending after target thread exits
Date: Tue, 27 Oct 2015 19:06:39 +0000
Message-ID: <28F5B565B6F6424C87E4AC0DCC84316575D8071E@S1P5DAG5C.EXCHPROD.USA.NET>
References: <28F5B565B6F6424C87E4AC0DCC84316575D71070 AT S1P5DAG5C DOT EXCHPROD DOT USA DOT NET> <20151021114810 DOT GQ5319 AT calimero DOT vinschen DOT de> <28F5B565B6F6424C87E4AC0DCC84316575D73A86 AT S1P5DAG5C DOT EXCHPROD DOT USA DOT NET>,<20151023125540 DOT GI5319 AT calimero DOT vinschen DOT de>
In-Reply-To: <20151023125540.GI5319@calimero.vinschen.de>
MIME-Version: 1.0
X-IsSubscribed: yes

--_002_28F5B565B6F6424C87E4AC0DCC84316575D8071ES1P5DAG5CEXCHPR_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Sorry for the delay.

From: Corinna Vinschen [corinna-cygwin AT cygwin DOT com]
Sent: Friday, October 23, 2015 5:55 AM
> > I've attached a test case that I *think* gets into the right spot, at
> > least for 64-bit Cygwin 2.0.4.  That is, it hangs trying to receive
> > the signal, instead of terminating.  (This test passes (terminates) in
> > 32-bit Cygwin 1.7.9 and 64-bit Ubuntu 14.04.3 LTS.)
>=20
> Thanks for the testcase.  I applied a patch which hopefully works as
> desired, at least to fix the immediate problem of the remaining pending
> signal when a thread exits.  I uploaded a new developer snapshot to
> https://cygwin.com/snapshots.  Please give it a try.

Thanks; that was fast!  I tried replacing cygwin1.dll with cygwin1-20151023=
.dll .

The original test case now works.  I checked some of my other tests,
and unfortunately some of them failed, so I extracted out a new test
case, which is attached.  My guess is that something is subtly different
about the timing on this test.

This new test hangs about half the time, and I have to use Windows Task Man=
ager
to kill it (not Cygwin "kill"). Sometimes I see "pthread_kill: Unknown erro=
r -1" while
it hangs (meaning that pthread_kill returned -1 instead of an error number).

> > > >   - Multiple pending signals targeting different threads could
> > > >   coexist, even if they shared the same signal number.  This happens
> > > >   on Linux (Ubuntu 14.04.3), where I can generate two signals for t=
wo
> > > >   different threads, then sleep for a bit in each target thread, and
> > > >   finally have each thread receive its signal with sigwait()--neith=
er
> > > >   signal is lost during the sleeping period.
> > >
> > > That requires to extend the handling for pending signals.  That's
> > > a rather bigger task...
> >
> > Yeah.  It's nice if threads don't interfere with each other, but this
> > part would indeed be harder to change.
>=20
> I added that to my neverending TODO list.  Maybe I get around to it at
> one point.

I know the feeling.  No worries, and thanks.

-- John Carey

--_002_28F5B565B6F6424C87E4AC0DCC84316575D8071ES1P5DAG5CEXCHPR_
Content-Type: text/x-csrc; name="test_pending_signal2.c"
Content-Description: test_pending_signal2.c
Content-Disposition: attachment; filename="test_pending_signal2.c"; size=6295;
	creation-date="Tue, 27 Oct 2015 19:04:10 GMT";
	modification-date="Tue, 27 Oct 2015 19:04:10 GMT"
Content-Transfer-Encoding: base64

LyogQ29weXJpZ2h0IChjKSAyMDE1LCBFbGVjdHJpYyBDbG91ZCwgSW5jLgog
KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKgogKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCiAqIGFyZSBtZXQ6CiAq
CiAqICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgogKgogKiAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCiAqCiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiAqIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCiAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAqLwoKLyogVGhp
cyB0ZXN0IHByb2dyYW0gZGVtb25zdGF0ZXMgYSBDeWd3aW4gYnVnIGluIHdo
aWNoIGEgc2lnbmFsIHNlbnQKICogdG8gYSBwYXJ0aWN1bGFyIHRocmVhZCBy
ZW1haW5zIHBlbmRpbmcgYWZ0ZXIgdGhlIHRocmVhZCB0ZXJtaW5hdGVzLgog
KgogKiBTb21laG93IGV2ZW4gdGhvdWdoIHRoZSBvcmlnaW5hbCBmaXggd29y
a2VkIGZvciB0ZXN0X3BlbmRpbmdfc2lnbmFsLmMsCiAqIGFib3V0IGhhbGYg
dGhlIHRpbWUgdGhpcyB0ZXN0IGNhc2UgdHJpZ2dlcnMgYSBoYW5nIHRoYXQg
bXVzdCBiZSBraWxsZWQKICogdXNpbmcgdGhlIFdpbmRvd3MgVGFzayBNYW5h
Z2VyIGluc3RlYWQgb2YgQ3lnd2luICJraWxsIi4gIFNvbWV0aW1lcyB3ZQog
KiBzZWUgInB0aHJlYWRfa2lsbDogVW5rbm93biBlcnJvciAtMSIgZHVyaW5n
IHRoZSBoYW5nLgogKi8KCiNpbmNsdWRlIDx1bmlzdGQuaD4KI2luY2x1ZGUg
PHB0aHJlYWQuaD4KI2luY2x1ZGUgPGVycm5vLmg+CiNpbmNsdWRlIDxzaWdu
YWwuaD4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4K
I2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8dGltZS5oPgoKCnN0YXRp
YyB2b2lkIGNoZWNrX3N5c2NhbGwoY2hhciBjb25zdCAqY29udGV4dCwgaW50
IHJlc3VsdCkKewogICAgaWYgKHJlc3VsdCA9PSAtMSkgewogICAgICAgIGZw
cmludGYoc3RkZXJyLCAiJXM6ICVzXG4iLCBjb250ZXh0LCBzdHJlcnJvcihl
cnJubykpOwogICAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKICAgIH0KfQoK
c3RhdGljIHZvaWQgY2hlY2tfdGhyZWFkY2FsbChjaGFyIGNvbnN0ICpjb250
ZXh0LCBpbnQgZXJyb3JfbnVtYmVyKQp7CiAgICBpZiAoZXJyb3JfbnVtYmVy
KSB7CiAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogJXNcbiIsIGNvbnRl
eHQsIHN0cmVycm9yKGVycm9yX251bWJlcikpOwogICAgICAgIGV4aXQoRVhJ
VF9GQUlMVVJFKTsKICAgIH0KfQoKCnR5cGVkZWYgc3RydWN0IHNoYXJlZF9z
dHJ1Y3QgewogICAgc2lnc2V0X3Qgc2lnbmFsX21hc2s7ICAvKiBzaWduYWxz
IHRvIGJsb2NrICovCiAgICBwdGhyZWFkX211dGV4X3QgbXV0ZXg7CiAgICBw
dGhyZWFkX2NvbmRfdCBjb25kOwogICAgaW50IGVhdDsKICAgIGludCBkb25l
Owp9IHNoYXJlZF90OwoKCnN0YXRpYyB2b2lkICpwaGFnZV90aHJlYWQgKHZv
aWQgKmFyZykKewogICAgc2hhcmVkX3QgKnNoYXJlZCA9IChzaGFyZWRfdCAq
KWFyZzsKCiAgICBjaGVja190aHJlYWRjYWxsKCJwdGhyZWFkX211dGV4X2xv
Y2siLAogICAgICAgICAgICBwdGhyZWFkX211dGV4X2xvY2soJnNoYXJlZC0+
bXV0ZXgpKTsKCiAgICBpZiAoc2hhcmVkLT5lYXQgPD0gMSkgewogICAgICAg
IHNoYXJlZC0+ZWF0ID0gMTsKICAgICAgICBjaGVja190aHJlYWRjYWxsKCJw
dGhyZWFkX2NvbmRfYnJvYWRjYXN0IiwKICAgICAgICAgICAgICAgIHB0aHJl
YWRfY29uZF9icm9hZGNhc3QoJnNoYXJlZC0+Y29uZCkpOwoKICAgICAgICB3
aGlsZSAoc2hhcmVkLT5lYXQgPD0gMSkgewogICAgICAgICAgICBjaGVja190
aHJlYWRjYWxsKCJwdGhyZWFkX2NvbmRfd2FpdCIsCiAgICAgICAgICAgICAg
ICAgICAgcHRocmVhZF9jb25kX3dhaXQoJnNoYXJlZC0+Y29uZCwgJnNoYXJl
ZC0+bXV0ZXgpKTsKICAgICAgICB9CiAgICB9CgogICAgY2hlY2tfdGhyZWFk
Y2FsbCgicHRocmVhZF9tdXRleF91bmxvY2siLAogICAgICAgICAgICBwdGhy
ZWFkX211dGV4X3VubG9jaygmc2hhcmVkLT5tdXRleCkpOwogICAgcmV0dXJu
IE5VTEw7Cn0KCnN0YXRpYyB2b2lkICpzaWduYWxfdGhyZWFkICh2b2lkICph
cmcpCnsKICAgIHNoYXJlZF90ICpzaGFyZWQgPSAoc2hhcmVkX3QgKilhcmc7
CiAgICBpbnQgc2lnX2NhdWdodDsKICAgIGludCBlcm47CgogICAgY2hlY2tf
dGhyZWFkY2FsbCgic2lnd2FpdCIsCiAgICAgICAgICAgIHNpZ3dhaXQoJnNo
YXJlZC0+c2lnbmFsX21hc2ssICZzaWdfY2F1Z2h0KSk7CgogICAgaWYgKHNp
Z19jYXVnaHQgPT0gU0lHVVNSMikgewogICAgICAgIHB1dHMoIlJlY2VpdmVk
IFNJR1VTUjIiKTsKICAgICAgICBmZmx1c2goc3Rkb3V0KTsKICAgIH0gZWxz
ZSB7CiAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiXG5VbmV4cGVjdGVkIHNp
Z25hbCAlZFxuIiwgc2lnX2NhdWdodCk7CiAgICB9CgogICAgY2hlY2tfdGhy
ZWFkY2FsbCgicHRocmVhZF9tdXRleF9sb2NrIiwKICAgICAgICAgICAgcHRo
cmVhZF9tdXRleF9sb2NrKCZzaGFyZWQtPm11dGV4KSk7CgogICAgc2hhcmVk
LT5kb25lID0gMTsKCiAgICBjaGVja190aHJlYWRjYWxsKCJwdGhyZWFkX2Nv
bmRfYnJvYWRjYXN0IiwKICAgICAgICAgICAgcHRocmVhZF9jb25kX2Jyb2Fk
Y2FzdCgmc2hhcmVkLT5jb25kKSk7CgogICAgY2hlY2tfdGhyZWFkY2FsbCgi
cHRocmVhZF9tdXRleF91bmxvY2siLAogICAgICAgICAgICBwdGhyZWFkX211
dGV4X3VubG9jaygmc2hhcmVkLT5tdXRleCkpOwoKICAgIHJldHVybiBOVUxM
Owp9CgoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQp7CiAgICBz
aGFyZWRfdCAqc2hhcmVkID0gKHNoYXJlZF90ICopbWFsbG9jKHNpemVvZihz
aGFyZWRfdCkpOwogICAgcHRocmVhZF90IHBoYWdlX3RpZCwgc2lnbmFsX3Rp
ZDsKICAgIHN0cnVjdCB0aW1lc3BlYyB0czsKICAgIGludCBlcm47CgogICAg
c2lnZW1wdHlzZXQoJnNoYXJlZC0+c2lnbmFsX21hc2spOwogICAgc2lnYWRk
c2V0KCZzaGFyZWQtPnNpZ25hbF9tYXNrLCBTSUdVU1IyKTsKCiAgICBjaGVj
a190aHJlYWRjYWxsKCJwdGhyZWFkX211dGV4X2luaXQiLAogICAgICAgICAg
ICBwdGhyZWFkX211dGV4X2luaXQoJnNoYXJlZC0+bXV0ZXgsIE5VTEwpKTsK
CiAgICBjaGVja190aHJlYWRjYWxsKCJwdGhyZWFkX2NvbmRfaW5pdCIsCiAg
ICAgICAgICAgIHB0aHJlYWRfY29uZF9pbml0KCZzaGFyZWQtPmNvbmQsIE5V
TEwpKTsKCiAgICBjaGVja190aHJlYWRjYWxsKCJwdGhyZWFkX3NpZ21hc2si
LAogICAgICAgICAgICBwdGhyZWFkX3NpZ21hc2soU0lHX0JMT0NLLCAmc2hh
cmVkLT5zaWduYWxfbWFzaywgTlVMTCkpOwoKICAgIHNoYXJlZC0+ZWF0ID0g
MDsKICAgIHNoYXJlZC0+ZG9uZSA9IDA7CgogICAgY2hlY2tfdGhyZWFkY2Fs
bCgicHRocmVhZF9jcmVhdGUiLAogICAgICAgICAgICBwdGhyZWFkX2NyZWF0
ZSgmcGhhZ2VfdGlkLCBOVUxMLCBwaGFnZV90aHJlYWQsIHNoYXJlZCkpOwoK
ICAgIGNoZWNrX3RocmVhZGNhbGwoInB0aHJlYWRfbXV0ZXhfbG9jayIsCiAg
ICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmc2hhcmVkLT5tdXRleCkp
OwoKICAgIHdoaWxlIChzaGFyZWQtPmVhdCA9PSAwKSB7CiAgICAgICAgY2hl
Y2tfdGhyZWFkY2FsbCgicHRocmVhZF9jb25kX3dhaXQiLAogICAgICAgICAg
ICAgICAgcHRocmVhZF9jb25kX3dhaXQoJnNoYXJlZC0+Y29uZCwgJnNoYXJl
ZC0+bXV0ZXgpKTsKICAgIH0KCiAgICBjaGVja190aHJlYWRjYWxsKCJwdGhy
ZWFkX2tpbGwiLAogICAgICAgICAgICBwdGhyZWFkX2tpbGwocGhhZ2VfdGlk
LCBTSUdVU1IyKSk7CgogICAgc2hhcmVkLT5lYXQgPSAyOwoKICAgIGNoZWNr
X3RocmVhZGNhbGwoInB0aHJlYWRfY29uZF9icm9hZGNhc3QiLAogICAgICAg
ICAgICBwdGhyZWFkX2NvbmRfYnJvYWRjYXN0KCZzaGFyZWQtPmNvbmQpKTsK
CiAgICBjaGVja190aHJlYWRjYWxsKCJwdGhyZWFkX211dGV4X3VubG9jayIs
CiAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZzaGFyZWQtPm11
dGV4KSk7CgogICAgY2hlY2tfdGhyZWFkY2FsbCgicHRocmVhZF9qb2luIiwK
ICAgICAgICAgICAgcHRocmVhZF9qb2luKHBoYWdlX3RpZCwgTlVMTCkpOwoK
ICAgIGNoZWNrX3RocmVhZGNhbGwoInB0aHJlYWRfY3JlYXRlIiwKICAgICAg
ICAgICAgcHRocmVhZF9jcmVhdGUoJnNpZ25hbF90aWQsIE5VTEwsIHNpZ25h
bF90aHJlYWQsIHNoYXJlZCkpOwoKICAgIGNoZWNrX3RocmVhZGNhbGwoInB0
aHJlYWRfbXV0ZXhfbG9jayIsCiAgICAgICAgICAgIHB0aHJlYWRfbXV0ZXhf
bG9jaygmc2hhcmVkLT5tdXRleCkpOwoKICAgIGZvciAoOzspIHsKICAgICAg
ICBpZiAoc2hhcmVkLT5kb25lKSB7CiAgICAgICAgICAgIGNoZWNrX3RocmVh
ZGNhbGwoInB0aHJlYWRfam9pbiIsCiAgICAgICAgICAgICAgICAgICAgcHRo
cmVhZF9qb2luKHNpZ25hbF90aWQsIE5VTEwpKTsKICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgfSB7CiAgICAgICAgICAgIGVybiA9IHB0aHJlYWRfa2ls
bChzaWduYWxfdGlkLCBTSUdVU1IyKTsKICAgICAgICAgICAgaWYgKGVybiAh
PSBFU1JDSCkgewogICAgICAgICAgICAgICAgY2hlY2tfdGhyZWFkY2FsbCgi
cHRocmVhZF9raWxsIiwgZXJuKTsKICAgICAgICAgICAgfQoKICAgICAgICAg
ICAgY2hlY2tfc3lzY2FsbCgiY2xvY2tfZ2V0dGltZSIsCiAgICAgICAgICAg
ICAgICAgICAgY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwgJnRzKSk7
CgogICAgICAgICAgICB0cy50dl9uc2VjICs9IDEwMDAwMDAwMDsKICAgICAg
ICAgICAgaWYgKHRzLnR2X25zZWMgPj0gMTAwMDAwMDAwMCkgewogICAgICAg
ICAgICAgICAgdHMudHZfbnNlYyAtPSAxMDAwMDAwMDAwOwogICAgICAgICAg
ICAgICAgdHMudHZfc2VjICs9IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAg
ICAgIGNoZWNrX3RocmVhZGNhbGwoInB0aHJlYWRfY29uZF90aW1lZHdhaXQi
LAogICAgICAgICAgICAgICAgcHRocmVhZF9jb25kX3RpbWVkd2FpdCgmc2hh
cmVkLT5jb25kLCAmc2hhcmVkLT5tdXRleCwgJnRzKSk7CiAgICAgICAgfQog
ICAgfQoKICAgIGNoZWNrX3RocmVhZGNhbGwoInB0aHJlYWRfbXV0ZXhfdW5s
b2NrIiwKICAgICAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJnNoYXJl
ZC0+bXV0ZXgpKTsKCiAgICByZXR1cm4gRVhJVF9TVUNDRVNTOwp9Cg==


--_002_28F5B565B6F6424C87E4AC0DCC84316575D8071ES1P5DAG5CEXCHPR_
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
--_002_28F5B565B6F6424C87E4AC0DCC84316575D8071ES1P5DAG5CEXCHPR_--

- Raw text -


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