diff --git a/dump_manager.cpp b/dump_manager.cpp
index c87ec8f..a42fce2 100644
--- a/dump_manager.cpp
+++ b/dump_manager.cpp
@@ -45,29 +45,6 @@
     // Get Dump size.
     auto size = getAllowedSize();
 
-    // Blocking SIGCHLD is needed for calling sd_event_add_child
-    sigset_t mask;
-    if (sigemptyset(&mask) < 0)
-    {
-        log<level::ERR>("Unable to initialize signal set",
-                        entry("ERRNO=%d", errno));
-        throw std::runtime_error("Unable to initialize signal set");
-    }
-
-    if (sigaddset(&mask, SIGCHLD) < 0)
-    {
-        log<level::ERR>("Unable to add signal to signal set",
-                        entry("ERRNO=%d", errno));
-        throw std::runtime_error("Unable to add signal to signal set");
-    }
-
-    // Block SIGCHLD first, so that the event loop can handle it
-    if (sigprocmask(SIG_BLOCK, &mask, NULL) < 0)
-    {
-        log<level::ERR>("Unable to block signal", entry("ERRNO=%d", errno));
-        throw std::runtime_error("Unable to block signal");
-    }
-
     pid_t pid = fork();
 
     if (pid == 0)
@@ -101,12 +78,6 @@
                             entry("RC=%d", rc));
             elog<InternalFailure>();
         }
-        if (sigprocmask(SIG_UNBLOCK, &mask, NULL) < 0)
-        {
-            log<level::ERR>("Unable to unblock signal",
-                            entry("ERRNO=%d", errno));
-            throw std::runtime_error("Unable to unblock signal");
-        }
     }
     else
     {
diff --git a/dump_manager_main.cpp b/dump_manager_main.cpp
index fe1a147..787bd12 100644
--- a/dump_manager_main.cpp
+++ b/dump_manager_main.cpp
@@ -28,6 +28,29 @@
     phosphor::dump::EventPtr eventP{event};
     event = nullptr;
 
+    // Blocking SIGCHLD is needed for calling sd_event_add_child
+    sigset_t mask;
+    if (sigemptyset(&mask) < 0)
+    {
+        log<level::ERR>("Unable to initialize signal set",
+                        entry("ERRNO=%d", errno));
+        return EXIT_FAILURE;
+    }
+
+    if (sigaddset(&mask, SIGCHLD) < 0)
+    {
+        log<level::ERR>("Unable to add signal to signal set",
+                        entry("ERRNO=%d", errno));
+        return EXIT_FAILURE;
+    }
+
+    // Block SIGCHLD first, so that the event loop can handle it
+    if (sigprocmask(SIG_BLOCK, &mask, nullptr) < 0)
+    {
+        log<level::ERR>("Unable to block signal", entry("ERRNO=%d", errno));
+        return EXIT_FAILURE;
+    }
+
     // Add sdbusplus ObjectManager for the 'root' path of the DUMP manager.
     sdbusplus::server::manager::manager objManager(bus, DUMP_OBJPATH);
     bus.request_name(DUMP_BUSNAME);
