| Index: chrome/browser/service_process/service_process_control.cc
|
| diff --git a/chrome/browser/service_process/service_process_control.cc b/chrome/browser/service_process/service_process_control.cc
|
| index 193f1f08d97614e22ee4f5970f431b72e176dda8..c6eae8471ef531c31cda327e979838a51e61f6af 100644
|
| --- a/chrome/browser/service_process/service_process_control.cc
|
| +++ b/chrome/browser/service_process/service_process_control.cc
|
| @@ -25,6 +25,22 @@
|
|
|
| using content::BrowserThread;
|
|
|
| +namespace {
|
| +
|
| +// Test: On Mac, launchd_msg_send tries to allocate a 10MB buffer, but doesn't
|
| +// handle errors and makes ugly crash dumps when close to OOM.
|
| +// TODO(vitalybuka): Remove after few Canary builds.
|
| +// See http://crbug.com/406227
|
| +void AllocDebugTest() {
|
| +#if defined(OS_MACOSX)
|
| + void* buffer = malloc(20 * 1024 * 1024);
|
| + CHECK(buffer);
|
| + free(buffer);
|
| +#endif // OS_MACOSX
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| // ServiceProcessControl implementation.
|
| ServiceProcessControl::ServiceProcessControl() {
|
| }
|
| @@ -223,6 +239,7 @@ void ServiceProcessControl::OnHistograms(
|
| }
|
|
|
| void ServiceProcessControl::RunHistogramsCallback() {
|
| + AllocDebugTest();
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| if (!histograms_callback_.is_null()) {
|
| histograms_callback_.Run();
|
| @@ -259,6 +276,7 @@ bool ServiceProcessControl::GetCloudPrintProxyInfo(
|
| bool ServiceProcessControl::GetHistograms(
|
| const base::Closure& histograms_callback,
|
| const base::TimeDelta& timeout) {
|
| + AllocDebugTest();
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(!histograms_callback.is_null());
|
| histograms_callback_.Reset();
|
|
|