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