Interrupting timer and low-overhead sampling profiler
Calls a user-defined callback when a one-shot or periodic timer expires. Also a sampling profiler backend, which aggregates backtraces collected by a periodic timer.
- Rewrite the backend to work around a glibc timer aliasing bug (T391426).
Timer creation and deletion are now more expensive, so applications should
try to avoid unnecessary creation and deletion. It's cheaper to stop and
start an existing timer. Handling events is cheaper, so profiling
performance is improved.
- Compile with -fvisibility=hidden