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