@@ -165,7 +165,10 @@ static ddog_SidecarTransport *dd_sidecar_connection_factory_ex(bool is_fork) {
165165
166166 ddog_SidecarTransport * sidecar_transport ;
167167 if (!ddtrace_ffi_try ("Failed connecting to the sidecar" , ddog_sidecar_connect_php (& sidecar_transport , logpath , dd_zend_string_to_CharSlice (get_global_DD_TRACE_LOG_LEVEL ()), get_global_DD_INSTRUMENTATION_TELEMETRY_ENABLED (), dd_sidecar_on_reconnect ))) {
168- ddog_endpoint_drop (dogstatsd_endpoint );
168+ if (dogstatsd_endpoint ) {
169+ ddog_endpoint_drop (dogstatsd_endpoint );
170+ dogstatsd_endpoint = NULL ;
171+ }
169172 return NULL ;
170173 }
171174
@@ -209,10 +212,15 @@ void ddtrace_sidecar_setup(bool appsec_activation, bool appsec_config) {
209212 ddog_init_remote_config (get_global_DD_INSTRUMENTATION_TELEMETRY_ENABLED (), appsec_activation , appsec_config );
210213
211214 ddtrace_sidecar = dd_sidecar_connection_factory ();
212- if (!ddtrace_sidecar && ddtrace_endpoint ) { // Something went wrong
213- ddog_endpoint_drop (ddtrace_endpoint );
214- ddog_endpoint_drop (dogstatsd_endpoint );
215- ddtrace_endpoint = NULL ;
215+ if (!ddtrace_sidecar ) { // Something went wrong
216+ if (ddtrace_endpoint ) {
217+ ddog_endpoint_drop (ddtrace_endpoint );
218+ ddtrace_endpoint = NULL ;
219+ }
220+ if (dogstatsd_endpoint ) {
221+ ddog_endpoint_drop (dogstatsd_endpoint );
222+ dogstatsd_endpoint = NULL ;
223+ }
216224 }
217225
218226 if (get_global_DD_INSTRUMENTATION_TELEMETRY_ENABLED ()) {
@@ -250,10 +258,16 @@ void ddtrace_sidecar_shutdown(void) {
250258 if (ddtrace_sidecar_instance_id ) {
251259 ddog_sidecar_instanceId_drop (ddtrace_sidecar_instance_id );
252260 }
261+
253262 if (ddtrace_endpoint ) {
254263 ddog_endpoint_drop (ddtrace_endpoint );
264+ }
265+
266+ if (dogstatsd_endpoint ) {
255267 ddog_endpoint_drop (dogstatsd_endpoint );
268+ dogstatsd_endpoint = NULL ;
256269 }
270+
257271 if (ddtrace_sidecar ) {
258272 ddog_sidecar_transport_drop (ddtrace_sidecar );
259273 }
@@ -272,10 +286,15 @@ void ddtrace_reset_sidecar(void) {
272286 if (ddtrace_sidecar ) {
273287 ddog_sidecar_transport_drop (ddtrace_sidecar );
274288 ddtrace_sidecar = dd_sidecar_connection_factory_ex (true);
275- if (!ddtrace_sidecar && ddtrace_endpoint ) { // Something went wrong
276- ddog_endpoint_drop (ddtrace_endpoint );
277- ddog_endpoint_drop (dogstatsd_endpoint );
278- ddtrace_endpoint = NULL ;
289+ if (!ddtrace_sidecar ) { // Something went wrong
290+ if (ddtrace_endpoint ) {
291+ ddog_endpoint_drop (ddtrace_endpoint );
292+ ddtrace_endpoint = NULL ;
293+ }
294+ if (dogstatsd_endpoint ) {
295+ ddog_endpoint_drop (dogstatsd_endpoint );
296+ dogstatsd_endpoint = NULL ;
297+ }
279298 } else {
280299 ddtrace_sidecar_submit_root_span_data ();
281300 }
0 commit comments