Skip to content

Commit e977efb

Browse files
committed
Fix metrics batcher swap on startup failure
1 parent 55daae0 commit e977efb

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/sentry_metrics.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,17 @@ sentry__metrics_startup(const sentry_options_t *options)
133133
{
134134
sentry_batcher_t *batcher
135135
= sentry__batcher_new(sentry__envelope_add_metrics);
136-
if (batcher) {
137-
sentry__batcher_startup(batcher, options);
136+
if (!batcher) {
137+
SENTRY_WARN("failed to allocate metrics batcher");
138+
return;
139+
}
140+
141+
sentry__batcher_startup(batcher, options);
142+
sentry_batcher_t *old = sentry__batcher_swap(&g_batcher, batcher);
143+
if (old) {
144+
sentry__batcher_shutdown(old, 0);
138145
}
139-
sentry__batcher_release(sentry__batcher_swap(&g_batcher, batcher));
146+
sentry__batcher_release(old);
140147
}
141148

142149
void

0 commit comments

Comments
 (0)