Skip to content

Commit 007a550

Browse files
committed
fix: thread shutdown leaks
Signed-off-by: Alexandre Rulleau <[email protected]>
1 parent 4e5e7a2 commit 007a550

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

components-rs/sidecar.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ ddog_MaybeError ddog_sidecar_connect_worker(int32_t master_pid,
9595

9696
ddog_MaybeError ddog_sidecar_shutdown_master_listener(void);
9797

98+
ddog_MaybeError ddog_sidecar_clear_inherited_listener(void);
99+
98100
ddog_MaybeError ddog_sidecar_ping(struct ddog_SidecarTransport **transport);
99101

100102
ddog_MaybeError ddog_sidecar_flush_traces(struct ddog_SidecarTransport **transport);

ext/ddtrace.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2643,6 +2643,9 @@ void dd_internal_handle_fork(void) {
26432643
#ifndef _WIN32
26442644
if (get_global_DD_TRACE_SIDECAR_TRACE_SENDER() && ddtrace_sidecar) {
26452645
if (is_child_process) {
2646+
// Clear inherited listener state - child doesn't own the master listener thread
2647+
ddtrace_ffi_try("Failed clearing inherited listener state", ddog_sidecar_clear_inherited_listener());
2648+
26462649
ddtrace_force_new_instance_id();
26472650

26482651
if (ddtrace_sidecar_connect_worker_after_fork()) {

0 commit comments

Comments
 (0)