[Patch] Fix error path of pthread_cond_timedwait
Dinakar Guniguntala <[email protected]> Tue, 17 Feb 2004 11:40:24 +0530
| Newsgroups | gmane.comp.lib.phil |
|---|---|
| Message-ID | <OF1F98CC17.9508DE4A-ON65256E3D.00207A03-65256E3D.0021A256@in.ibm.com> |
--0__=EABBE4AEDFB3FC938f9e8a93df938690918cEABBE4AEDFB3FC93 Content-type: text/plain; charset=US-ASCII Hi Ulrich, During testing of IBM JVM, it was noticed that a pthread_cond_signal appeared to be lost. After debugging I found that on i386, there is an error path for the pthread_cond_timedwait call (on TIMEOUT) that updates the sequence counters without holding a lock. This eventually leads to a signal getting lost. Attached is the patch that fixes the problem Please apply (See attached file: timedwait.patch) Regards, Dinakar --0__=EABBE4AEDFB3FC938f9e8a93df938690918cEABBE4AEDFB3FC93 Content-type: application/octet-stream; name="timedwait.patch" Content-Disposition: attachment; filename="timedwait.patch" Content-transfer-encoding: base64 ZGlmZiAtTmF1ciBucHRsLW9yaWcvc3lzZGVwcy91bml4L3N5c3YvbGludXgvaTM4Ni9pNDg2L3B0 aHJlYWRfY29uZF90aW1lZHdhaXQuUyBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2kzODYv aTQ4Ni9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LlMKLS0tIG5wdGwtb3JpZy9zeXNkZXBzL3VuaXgv c3lzdi9saW51eC9pMzg2L2k0ODYvcHRocmVhZF9jb25kX3RpbWVkd2FpdC5TCTIwMDMtMDktMjEg MjM6MTA6MjUuMDAwMDAwMDAwICswNTMwCisrKyBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4 L2kzODYvaTQ4Ni9wdGhyZWFkX2NvbmRfdGltZWR3YWl0LlMJMjAwNC0wMi0xNiAxMzo1ODo1Ni4w MDAwMDAwMDAgKzA1MzAKQEAgLTkwLDIxICs5MCw4IEBACiAJbW92bAklZWRpLCAxMiglZXNwKQog CW1vdmwJJWVkeCwgMTYoJWVzcCkKIAotCS8qIFVubG9jay4gICovCi04OglMT0NLCi0jaWYgY29u ZF9sb2NrID09IDAKLQlzdWJsCSQxLCAoJWVieCkKLSNlbHNlCi0Jc3VibAkkMSwgY29uZF9sb2Nr KCVlYngpCi0jZW5kaWYKLQlqbmUJM2YKLQotLkxjbGVhbnVwU1RBUlQ6Ci00OgljYWxsCV9fcHRo cmVhZF9lbmFibGVfYXN5bmNjYW5jZWwKLQltb3ZsCSVlYXgsICglZXNwKQotCiAJLyogR2V0IHRo ZSBjdXJyZW50IHRpbWUuICAqLwotCW1vdmwJJWVieCwgJWVkeAorODoJbW92bAklZWJ4LCAlZWR4 CiAuTGVieG1vdmVkVVI6CiAjaWZkZWYgX19OUl9jbG9ja19nZXR0aW1lCiAJLyogR2V0IHRoZSBj bG9jayBudW1iZXIuICBOb3RlIHRoYXQgdGhlIGZpZWxkIGluIHRoZSBjb25kdmFyCkBAIC0xNTQs NiArMTQxLDIwIEBACiAJLyogU3RvcmUgcmVsYXRpdmUgdGltZW91dC4gICovCiAyMToJbW92bAkl ZWN4LCA0KCVlc3ApCiAJbW92bAklZWR4LCA4KCVlc3ApCisKKwkvKiBVbmxvY2suICAqLworCUxP Q0sKKyNpZiBjb25kX2xvY2sgPT0gMAorCXN1YmwJJDEsICglZWJ4KQorI2Vsc2UKKwlzdWJsCSQx LCBjb25kX2xvY2soJWVieCkKKyNlbmRpZgorCWpuZQkzZgorCisuTGNsZWFudXBTVEFSVDoKKzQ6 CWNhbGwJX19wdGhyZWFkX2VuYWJsZV9hc3luY2NhbmNlbAorCW1vdmwJJWVheCwgKCVlc3ApCisK IAlsZWFsCTQoJWVzcCksICVlc2kKIAl4b3JsCSVlY3gsICVlY3gJLyogbW92bCAkRlVURVhfV0FJ VCwgJWVjeCAqLwogCW1vdmwJJWVkaSwgJWVkeApAQCAtMzc3LDcgKzM3OCwxMSBAQAogCWFkY2wJ JDAsIHdva2VuX3NlcSs0KCVlYngpCiAKIAlMT0NLCisjaWYgY29uZF9sb2NrID09IDAKKwlzdWJs CSQxLCAoJWVieCkKKyNlbHNlCiAJc3VibAkkMSwgY29uZF9sb2NrKCVlYngpCisjZW5kaWYKIAlq ZQkyZgogCiAjaWYgY29uZF9sb2NrID09IDAK --0__=EABBE4AEDFB3FC938f9e8a93df938690918cEABBE4AEDFB3FC93--