Commit ef083b8
committed
fix(remote-config): poll for new config after unblocking SIGVTALRM under valgrind
On Linux, unblocking SIGVTALRM causes immediate delivery if it was pending,
which triggers remote config processing via dd_vm_interrupt. However, valgrind
intercepts SIGVTALRM for its own timing, making signal delivery unreliable and
causing the live debugger probe installation to time out in CI valgrind passes.
Introduce REMOTE_CONFIG_NEEDS_POLLING_AFTER_SIGNAL to explicitly call
ddtrace_check_for_new_config_now() after unblocking only when needed:
- Linux + valgrind: RUNNING_ON_VALGRIND (runtime check, zero overhead otherwise)
- Linux without valgrind headers: always 0 (no overhead)
- Non-Linux: always 1 (signal delivery not guaranteed)
Also add AC_CHECK_HEADERS([valgrind/valgrind.h]) to config.m4 to detect
valgrind headers at build time.1 parent 17c83a1 commit ef083b8
2 files changed
Lines changed: 21 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
6 | 22 | | |
7 | 23 | | |
8 | 24 | | |
| |||
16 | 32 | | |
17 | 33 | | |
18 | 34 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
23 | 39 | | |
24 | 40 | | |
25 | 41 | | |
| |||
0 commit comments