www.delorie.com/archives/browse.cgi | search |
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--
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |