V2 Patch of fix for #BZ 25847
Malte Skarupke
malteskarupke@web.de
Wed Sep 8 02:52:33 GMT 2021
Early this year I submitted patches to fix #BZ 25847. Here is a second
version of the same patches. I believe it incorporates all the feedback
from the first round:
The first patch now has the calls at the end of pthread_cond_wait in
the right order.
The third patch now clears the wake-request flag correctly, removing a
case where a waiter could write to a condvar after it was destroyed.
The fifth patch now renames wrefs to crefs.
I also updated comments as requested.
Finally I added another patch because I realized that g1_start was too
complex for its reduced role after signal stealing was no longer
possible, so the final patch cleans that up.
The one feedback I did not do is to benchmark this against the existing
code. Is there existing benchmark code? It looks like 'make bench' does
not have a test for condition variables.
Let me know if there is any other feedback.
More information about the Libc-alpha
mailing list