Index: base/process_util.cc |
diff --git a/base/process_util.cc b/base/process_util.cc |
index 9979dfa07b1b06ee9d8aca814da04907200f077d..0d578fb70b5aea99db52dbb4b39a88db1d664e6a 100644 |
--- a/base/process_util.cc |
+++ b/base/process_util.cc |
@@ -76,4 +76,19 @@ NamedProcessIterator::NamedProcessIterator( |
NamedProcessIterator::~NamedProcessIterator() { |
} |
+#if defined(RENDERER_CLEAN_EXIT) |
+base::subtle::Atomic32 exit_counter; |
+ |
+extern void clean_exit(int return_value) |
+{ |
+ base::subtle::Atomic32 new_exit_counter; |
+ new_exit_counter = base::subtle:: |
+ Barrier_AtomicIncrement(&exit_counter, (base::subtle::Atomic32)1); |
+ if (new_exit_counter == 1) |
+ exit(return_value); |
+ else |
+ pthread_exit(NULL); |
+} |
+#endif // defined(RENDERER_CLEAN_EXIT) |
+ |
} // namespace base |