[lttng-dev] [RFC] wfcqueue: allow defining CDS_WFCQ_WAIT_SLEEP to override `poll'

Eric Wong normalperson at yhbt.net
Fri Aug 17 16:31:34 EDT 2018


Mathieu Desnoyers <mathieu.desnoyers at efficios.com> wrote:
> ----- On Aug 1, 2018, at 2:54 PM, Eric Wong normalperson at yhbt.net wrote:
> 
> > Users may want to use alternative sleeping behavior instead of
> > `poll'.  Make CDS_WFCQ_WAIT_SLEEP a macro which may be defined
> > before including wfcqueue.h.
> > 
> > This alternative behavior could include logging, performing
> > low-priority cleanup work, sleeping a shorter/longer interval
> > or any combination of that.
> > 
> > This will also make integration into glibc easier, as `poll'
> > linkage causes conformance test failures even when relegated
> > to an impossible code path:
> > https://public-inbox.org/libc-alpha/20180801092626.jrwyrojfye4avcis@whir/
> 
> Rather than introducing a macro here, can we extend the API to
> pass a callback and a private pointer that would perform the
> sleeping behavior requested by the caller ?

Given this is deep in the call stack, it would require modifying
a lot of callers.  So it seems like a compatibility/migration
nightmare.  I fear it's too much work for a small improvement.

For glibc, we can simply define `poll' to `__poll' to avoid
those test failures, at least


More information about the lttng-dev mailing list