diff --git a/libmemunreachable/MemUnreachable.cpp b/libmemunreachable/MemUnreachable.cpp
index cb3f1a5..eca26eb 100644
--- a/libmemunreachable/MemUnreachable.cpp
+++ b/libmemunreachable/MemUnreachable.cpp
@@ -224,16 +224,19 @@
 
     // ptrace all the threads
     if (!thread_capture.CaptureThreads()) {
+      continue_parent_sem.Post();
       return 1;
     }
 
     // collect register contents and stacks
     if (!thread_capture.CapturedThreadInfo(thread_info)) {
+      continue_parent_sem.Post();
       return 1;
     }
 
     // snapshot /proc/pid/maps
     if (!ProcessMappings(parent_pid, mappings)) {
+      continue_parent_sem.Post();
       return 1;
     }
 
@@ -306,7 +309,7 @@
 
     // Wait for the collection thread to signal that it is ready to fork the
     // heap walker process.
-    continue_parent_sem.Wait(100s);
+    continue_parent_sem.Wait(30s);
 
     // Re-enable malloc so the collection thread can fork.
   }
@@ -347,7 +350,7 @@
   std::ostringstream oss;
 
   oss << "  " << std::dec << size;
-  oss << " bytes at ";
+  oss << " bytes unreachable at ";
   oss << std::hex << begin;
   oss << std::endl;
 
@@ -405,7 +408,7 @@
 std::string GetUnreachableMemoryString(bool log_contents, size_t limit) {
   UnreachableMemoryInfo info;
   if (!GetUnreachableMemory(info, limit)) {
-    return "Failed to get unreachable memory";
+    return "Failed to get unreachable memory\n";
   }
 
   return info.ToString(log_contents);
