From 3ebdb1bd7ae38bf0fb205dfaa2f5fde3d67ea141 Mon Sep 17 00:00:00 2001 From: nealsid Date: Wed, 1 Apr 2009 03:18:49 +0000 Subject: Open sourcing the Breakpad framework from Google. A=many, many people R=nealsid, jeremy moskovich(from Chromium project) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@322 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/client/mac/handler/exception_handler.cc | 1 - src/client/mac/handler/exception_handler_test.cc | 10 +++++----- src/client/mac/handler/minidump_generator_test.cc | 7 +++---- 3 files changed, 8 insertions(+), 10 deletions(-) (limited to 'src/client/mac/handler') diff --git a/src/client/mac/handler/exception_handler.cc b/src/client/mac/handler/exception_handler.cc index 60fde473..fd6ea836 100644 --- a/src/client/mac/handler/exception_handler.cc +++ b/src/client/mac/handler/exception_handler.cc @@ -490,7 +490,6 @@ void *ExceptionHandler::WaitForMessage(void *exception_handler_class) { if (self->use_minidump_write_mutex_) pthread_mutex_unlock(&self->minidump_write_mutex_); } else { - // When forking a child process with the exception handler installed, // if the child crashes, it will send the exception back to the parent // process. The check for task == self_task() ensures that only diff --git a/src/client/mac/handler/exception_handler_test.cc b/src/client/mac/handler/exception_handler_test.cc index 59944377..d84f1997 100644 --- a/src/client/mac/handler/exception_handler_test.cc +++ b/src/client/mac/handler/exception_handler_test.cc @@ -55,6 +55,7 @@ static void *SleepyFunction(void *) { while (1) { sleep(10000); } + return NULL; } static void Crasher() { @@ -77,15 +78,14 @@ bool MDCallback(const char *dump_dir, const char *file_name, fprintf(stdout, "Minidump: %s\n", path.c_str()); // Indicate that we've handled the callback - return true; + exit(0); } int main(int argc, char * const argv[]) { char buffer[PATH_MAX]; - struct passwd *user = getpwuid(getuid()); // Home dir - snprintf(buffer, sizeof(buffer), "/Users/%s/Desktop/", user->pw_name); + snprintf(buffer, sizeof(buffer), "/tmp/"); string path(buffer); ExceptionHandler eh(path, NULL, MDCallback, NULL, true); @@ -97,8 +97,8 @@ int main(int argc, char * const argv[]) { perror("pthread_create"); } - // Dump a test - eh.WriteMinidump(); +// // Dump a test +// eh.WriteMinidump(); // Test the handler SoonToCrash(); diff --git a/src/client/mac/handler/minidump_generator_test.cc b/src/client/mac/handler/minidump_generator_test.cc index 62530832..3a77beb4 100644 --- a/src/client/mac/handler/minidump_generator_test.cc +++ b/src/client/mac/handler/minidump_generator_test.cc @@ -45,14 +45,13 @@ static bool doneWritingReport = false; static void *Reporter(void *) { char buffer[PATH_MAX]; MinidumpGenerator md; - struct passwd *user = getpwuid(getuid()); // Write it to the desktop snprintf(buffer, sizeof(buffer), - "/Users/%s/Desktop/test.dmp", - user->pw_name); - + "/tmp/test.dmp"); + + fprintf(stdout, "Writing %s\n", buffer); unlink(buffer); md.Write(buffer); -- cgit v1.2.1