[PATCH v6 5/9] nptl: Remove g_refs from condition variables

Florian Weimer fweimer@redhat.com
Tue Jan 28 11:05:53 GMT 2025


* Carlos O'Donell:

> Attached is a sketch at how I'd fix this in a backport:
>
> - Use wrefs MSB as the "fix present" bit.
> - If the fix is not present then use the pre-fix wait, signal, and broadcast.
> - If the fix is present then use the new code.

I'm not sure if this is no longer needed.  Probably the most problematic
aspect for many users was Berkeley DB, but distributions should have a
patch that automatically compensates for glibc condition variable layout
changes:

  libdb: Assumes that internal condition variable layout never changes
  <https://bugzilla.redhat.com/show_bug.cgi?id=1394862>

However, that code no longer works with glibc 2.34 because
libpthread.so.1 is not always loaded.  That should be quite
straightforward to fix.

Upstream Berkeley DB seems to have moved off process-shared condition
variables.

Thanks,
Florian



More information about the Libc-alpha mailing list