www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/09/16/22:35:41

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
content-class: urn:content-classes:message
MIME-Version: 1.0
Subject: muto object.
X-MimeOLE: Produced By Microsoft Exchange V6.0.4417.0
Date: Mon, 17 Sep 2001 12:22:55 +1000
Message-ID: <EA18B9FA0FE4194AA2B4CDB91F73C0EF7A2B@itdomain002.itdomain.net.au>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: muto object.
Thread-Index: AcE/H6k9VWCVsUVLTCmRyUtTMGVaIg==
From: "Robert Collins" <robert DOT collins AT itdomain DOT com DOT au>
To: <cygwin-developers AT cygwin DOT com>
Cc: <cygwin-patches AT cygwin DOT com>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C13F1F.A9425F30
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Chris,=20
  This update to muto handles threads exiting spontaneously without
releasing the muto properly. I think it fixes the FIXME you have in
::release, but as I can't see how release can check for other thread
activity, it may not have fixed that.

The logic it uses is:
if we fail to wait for the event,
protect ourselves with recover
check for the thread having died (should be fast - noop basically) and
if it has aquire the muto anyway.

There was also a typo in the destructor that could be causing memory
leaks within process.

Rob

------_=_NextPart_001_01C13F1F.A9425F30
Content-Type: application/octet-stream;
	name="mutoupdate.patch"
Content-Transfer-Encoding: base64
Content-Description: mutoupdate.patch
Content-Disposition: attachment;
	filename="mutoupdate.patch"

SW5kZXg6IHN5bmMuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9zcmMvc3JjL3dpbnN1cC9j
eWd3aW4vc3luYy5jYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOQpkaWZmIC11IC1wIC1yMS4x
OSBzeW5jLmNjCi0tLSBzeW5jLmNjCTIwMDEvMDkvMTMgMDE6MDc6MjUJMS4xOQorKysgc3luYy5j
YwkyMDAxLzA5LzE3IDAyOjIxOjU3CkBAIC0yOCw3ICsyOCw3IEBAIG11dG8gTk9fQ09QWSBtdXRv
X3N0YXJ0OwogI3VuZGVmIFdhaXRGb3JTaW5nbGVPYmplY3QKIAogLyogQ29uc3RydWN0b3IgKi8K
LW11dG86Om11dG8gKGludCBpbmgsIGNvbnN0IGNoYXIgKnMpIDogc3luYyAoMCksIHZpc2l0cygw
KSwgd2FpdGVycygtMSksIHRpZCAoMCksIG5leHQgKE5VTEwpCittdXRvOjptdXRvIChpbnQgaW5o
LCBjb25zdCBjaGFyICpzKSA6IHN5bmMgKDApLCB2aXNpdHMoMCksIHdhaXRlcnMoLTEpLCByZWNv
dmVyICgwKSwgdGlkICgwKSwgdGhhbmRsZSAoTlVMTCksIG5leHQgKE5VTEwpCiB7CiAgIC8qIENy
ZWF0ZSBldmVudCB3aGljaCBpcyB1c2VkIGluIHRoZSBmYWxsYmFjayBjYXNlIHdoZW4gYmxvY2tp
bmcgaXMgbmVjZXNzYXJ5ICovCiAgIGlmICghKGJydXRlZm9yY2UgPSBDcmVhdGVFdmVudCAoaW5o
ID8gJnNlY19hbGxfbmloIDogJnNlY19ub25lX25paCwgRkFMU0UsIEZBTFNFLCBuYW1lKSkpCkBA
IC00Nyw3ICs0Nyw3IEBAIG11dG86On5tdXRvICgpCiAgICAgcmVsZWFzZSAoKTsKIAogICBIQU5E
TEUgaCA9IGJydXRlZm9yY2U7Ci0gIGggPSBOVUxMOworICBicnV0ZWZvcmNlID0gTlVMTDsKICAg
LyogSnVzdCBuZWVkIHRvIGNsb3NlIHRoZSBldmVudCBoYW5kbGUgKi8KICAgaWYgKGgpCiAgICAg
Q2xvc2VIYW5kbGUgKGgpOwpAQCAtNjQsNiArNjQsNyBAQCBpbnQKIG11dG86OmFjcXVpcmUgKERX
T1JEIG1zKQogewogICBEV09SRCB0aGlzX3RpZCA9IEdldEN1cnJlbnRUaHJlYWRJZCAoKTsKKyAg
Ym9vbCByZWNvdmVyZWQgPSBmYWxzZTsKIAogICBpZiAodGlkICE9IHRoaXNfdGlkKQogICAgIHsK
QEAgLTkwLDYgKzkxLDIwIEBAIG11dG86OmFjcXVpcmUgKERXT1JEIG1zKQogCQlnb3RvIGdvdGl0
OwogCQlicmVhazsKIAkgICAgICBkZWZhdWx0OgorCQkvKiBUaW1lZCBvdXQuIFRoZSBvdGhlciB0
aHJlYWQgY291bGQgaGF2ZSBkaWVkIC4uLiAqLworCQkvKiBvbmx5IG9uZSB0aHJlYWQgaXMgYWxs
b3dlZCB0byAncmVjb3ZlcicgdGhlIG11dG8gKi8KKwkJaWYgKEludGVybG9ja2VkSW5jcmVtZW50
ICgmcmVjb3ZlcikgPT0gMSkKKwkJICB7CisJCSAgICBEV09SRCBzdGF0dXM7CisJCSAgICBHZXRF
eGl0Q29kZVRocmVhZCAodGhhbmRsZSwgJnN0YXR1cyk7CisJCSAgICBpZiAoc3RhdHVzICE9IFNU
SUxMX0FDVElWRSkKKwkJICAgICAgeworCQkJcmVjb3ZlcmVkID0gdHJ1ZTsKKwkJCXZpc2l0cyA9
IDA7CisJCSAgICAgICAgZ290byBnb3RpdDsKKwkJICAgICAgfQorCQkgIH0KKwkJSW50ZXJsb2Nr
ZWREZWNyZW1lbnQgKCZyZWNvdmVyKTsKIAkJSW50ZXJsb2NrZWREZWNyZW1lbnQgKCZ3YWl0ZXJz
KTsKIAkJcmV0dXJuIDA7CS8qIGZhaWxlZC4gKi8KIAkgICAgICB9CkBAIC05Nyw3ICsxMTIsMjEg
QEAgbXV0bzo6YWNxdWlyZSAoRFdPUkQgbXMpCiAgICAgfQogCiBnb3RpdDoKLSAgdGlkID0gdGhp
c190aWQ7CS8qIHJlZ2lzdGVyIHRoaXMgdGhyZWFkLiAqLworICBpZiAodGlkICE9IHRoaXNfdGlk
KQorICAgIHsKKyAgICAgIHRpZCA9IHRoaXNfdGlkOwkvKiByZWdpc3RlciB0aGlzIHRocmVhZC4g
Ki8KKyAgICAgIGlmICh0aGFuZGxlKQorCUNsb3NlSGFuZGxlICh0aGFuZGxlKTsKKyAgICAgIER1
cGxpY2F0ZUhhbmRsZSAoR2V0Q3VycmVudFByb2Nlc3MgKCksCisJCQlHZXRDdXJyZW50VGhyZWFk
ICgpLAorCQkJR2V0Q3VycmVudFByb2Nlc3MgKCksCisJCQkmdGhhbmRsZSwKKwkJCVRIUkVBRF9R
VUVSWV9JTkZPUk1BVElPTiwKKwkJCUZBTFNFLCAwKTsKKyAgICAgIGlmIChyZWNvdmVyZWQpCisJ
SW50ZXJsb2NrZWREZWNyZW1lbnQgKCZyZWNvdmVyKTsKKyAgICB9CisKICAgcmV0dXJuICsrdmlz
aXRzOwkvKiBJbmNyZW1lbnQgdmlzaXQgY291bnQuICovCiB9CiAKQEAgLTExNyw2ICsxNDYsMTAg
QEAgbXV0bzo6cmVsZWFzZSAoKQogICBpZiAoIS0tdmlzaXRzKQogICAgIHsKICAgICAgIHRpZCA9
IDA7CQkvKiBXZSB3ZXJlIHRoZSBsYXN0IHVubG9ja2VyLiAqLworICAgICAgaWYgKHRoYW5kbGUp
CisJQ2xvc2VIYW5kbGUgKHRoYW5kbGUpOworICAgICAgdGhhbmRsZSA9IE5VTEw7CisgICAgICBy
ZWNvdmVyID0gMDsKICAgICAgICh2b2lkKSBJbnRlcmxvY2tlZEV4Y2hhbmdlICgmc3luYywgMCk7
IC8qIFJlc2V0IHRyaWdnZXIuICovCiAgICAgICAvKiBUaGlzIHRocmVhZCBoYWQgaW5jcmVtZW50
ZWQgd2FpdGVycyBidXQgaGFkIG5ldmVyIGRlY3JlbWVudGVkIGl0LgogCSBEZWNyZW1lbnQgaXQg
bm93LiAgSWYgaXQgaXMgPj0gMCB0aGVuIHRoZXJlIGFyZSBwb3NzaWJseSBvdGhlcgpAQCAtMTMz
LDYgKzE2Niw5IEBAIHZvaWQKIG11dG86OnJlc2V0ICgpCiB7CiAgIHZpc2l0cyA9IHN5bmMgPSB0
aWQgPSAwOworICBpZiAodGhhbmRsZSkKKyAgICBDbG9zZUhhbmRsZSAodGhhbmRsZSk7CisgIHRo
YW5kbGUgPSBOVUxMOwogICBJbnRlcmxvY2tlZEV4Y2hhbmdlICgmd2FpdGVycywgLTEpOwogICBp
ZiAoYnJ1dGVmb3JjZSkKICAgICB7CkluZGV4OiBzeW5jLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9zcmMvc3JjL3dpbnN1cC9jeWd3aW4vc3luYy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAx
LjEzCmRpZmYgLXUgLXAgLXIxLjEzIHN5bmMuaAotLS0gc3luYy5oCTIwMDEvMDkvMTEgMjA6MDE6
MDEJMS4xMworKysgc3luYy5oCTIwMDEvMDkvMTcgMDI6MjE6NTcKQEAgLTE3LDggKzE3LDEwIEBA
IGNsYXNzIG11dG8KICAgTE9ORyBzeW5jOwkvKiBVc2VkIHRvIHNlcmlhbGl6ZSBhY2Nlc3MgdG8g
dGhpcyBjbGFzcy4gKi8KICAgTE9ORyB2aXNpdHM7CS8qIENvdW50IG9mIG51bWJlciBvZiB0aW1l
cyBhIHRocmVhZCBoYXMgY2FsbGVkIGFjcXVpcmUuICovCiAgIExPTkcgd2FpdGVyczsJLyogTnVt
YmVyIG9mIHRocmVhZHMgd2FpdGluZyBmb3IgbG9jay4gKi8KKyAgTE9ORyByZWNvdmVyOyAvKiBQ
cm90ZWN0aW9uIGZvciByZWNvdmVyaW5nIGZyb20gYSBkZWFkIHRocmVhZCBzaXR1YXRpb24gKi8K
ICAgSEFORExFIGJydXRlZm9yY2U7IC8qIGV2ZW50IGhhbmRsZSB1c2VkIHRvIGNvbnRyb2wgd2Fp
dGluZyBmb3IgbG9jay4gKi8KICAgRFdPUkQgdGlkOwkvKiBUaHJlYWQgSWQgb2YgbG9jayBvd25l
ci4gKi8KKyAgSEFORExFIHRoYW5kbGU7IC8qIHNsaWdodGx5IG1vcmUgZXhwZW5zaXZlIHRoYW4g
dGlkLCB1c2VkIHRvIGRldGVjdCB0aHJlYWQgZXhpdHMgKi8KIHB1YmxpYzoKICAgY2xhc3MgbXV0
byAqbmV4dDsKICAgY29uc3QgY2hhciAqbmFtZTsK

------_=_NextPart_001_01C13F1F.A9425F30--

- Raw text -


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