Chromium Code Reviews| Index: base/process_util_posix.cc |
| diff --git a/base/process_util_posix.cc b/base/process_util_posix.cc |
| index 9ea0e41e7167b12857b97d641839435e40697dcb..7b49673ba641632f4b0421ec01535060be20e1c6 100644 |
| --- a/base/process_util_posix.cc |
| +++ b/base/process_util_posix.cc |
| @@ -17,6 +17,7 @@ |
| #include <limits> |
| #include <set> |
| +#include "base/allocator/allocated_type_profiler_control.h" |
| #include "base/command_line.h" |
| #include "base/compiler_specific.h" |
| #include "base/debug/debugger.h" |
| @@ -639,6 +640,11 @@ bool LaunchProcess(const std::vector<std::string>& argv, |
| } |
| } |
| + // Stop the profiler for allocated type. |
| + // The profiler should be stopped between fork and exec since it inserts |
| + // locks at new/delete expressions. See http://crbug.com/36678. |
| + base::allocated_type_profiler::StopProfilingAllocatedType(); |
|
jar (doing other things)
2012/08/27 17:17:13
nit: please shorten this method name to StopProfil
Dai Mikurube (NOT FULLTIME)
2012/08/27 23:52:56
Ok, I'll rename it.
What kind of tests do you wan
Dai Mikurube (NOT FULLTIME)
2012/08/28 09:04:57
Done.
|
| + |
| if (options.maximize_rlimits) { |
| // Some resource limits need to be maximal in this child. |
| std::set<int>::const_iterator resource; |
| @@ -1107,6 +1113,11 @@ static GetAppOutputInternalResult GetAppOutputInternal( |
| if (dev_null < 0) |
| _exit(127); |
| + // Stop the profiler for allocated type. |
| + // The profiler should be stopped between fork and exec since it inserts |
| + // locks at new/delete expressions. See http://crbug.com/36678. |
| + base::allocated_type_profiler::StopProfilingAllocatedType(); |
| + |
| fd_shuffle1.push_back(InjectionArc(pipe_fd[1], STDOUT_FILENO, true)); |
| fd_shuffle1.push_back(InjectionArc(dev_null, STDERR_FILENO, true)); |
| fd_shuffle1.push_back(InjectionArc(dev_null, STDIN_FILENO, true)); |