From dda793ffa1ffbc3210f70276540903a4caa3281b Mon Sep 17 00:00:00 2001 From: AJ Heller Date: Fri, 19 Aug 2022 11:35:08 -0700 Subject: [PATCH] Fix forkable repeated registration (#30642) This fixes a bug that could occur on repeated grpc initialization (after a complete shutdown) Fixes #30640 --- src/core/lib/event_engine/forkable.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/lib/event_engine/forkable.cc b/src/core/lib/event_engine/forkable.cc index 8b0aa533081..12089c55f29 100644 --- a/src/core/lib/event_engine/forkable.cc +++ b/src/core/lib/event_engine/forkable.cc @@ -41,8 +41,9 @@ Forkable::~Forkable() { StopManagingForkable(this); } void RegisterForkHandlers() { grpc_core::MutexLock lock(g_mu.get()); - GPR_ASSERT(!absl::exchange(g_registered, true)); - pthread_atfork(PrepareFork, PostforkParent, PostforkChild); + if (!absl::exchange(g_registered, true)) { + pthread_atfork(PrepareFork, PostforkParent, PostforkChild); + } }; void PrepareFork() {