diff options
Diffstat (limited to 'src/client/mac/handler/exception_handler.h')
-rw-r--r-- | src/client/mac/handler/exception_handler.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/client/mac/handler/exception_handler.h b/src/client/mac/handler/exception_handler.h index 896eecda..ee3e2e1d 100644 --- a/src/client/mac/handler/exception_handler.h +++ b/src/client/mac/handler/exception_handler.h @@ -40,6 +40,9 @@ #include <string> +#include "client/mac/crash_generation/crash_generation_client.h" +#include "processor/scoped_ptr.h" + namespace google_breakpad { using std::string; @@ -86,9 +89,12 @@ class ExceptionHandler { // If install_handler is true, then a minidump will be written whenever // an unhandled exception occurs. If it is false, minidumps will only // be written when WriteMinidump is called. + // If port_name is non-NULL, attempt to perform out-of-process dump generation + // If port_name is NULL, in-process dump generation will be used. ExceptionHandler(const string &dump_path, FilterCallback filter, MinidumpCallback callback, - void *callback_context, bool install_handler); + void *callback_context, bool install_handler, + const char *port_name); // A special constructor if we want to bypass minidump writing and // simply get a callback with the exception information. @@ -115,6 +121,11 @@ class ExceptionHandler { static bool WriteMinidump(const string &dump_path, MinidumpCallback callback, void *callback_context); + // Returns whether out-of-process dump generation is used or not. + bool IsOutOfProcess() const { + return crash_generation_client_.get() != NULL; + } + private: // Install the mach exception handler bool InstallHandler(); @@ -206,6 +217,9 @@ class ExceptionHandler { // True, if we're using the mutext to indicate when mindump writing occurs bool use_minidump_write_mutex_; + + // Client for out-of-process dump generation. + scoped_ptr<CrashGenerationClient> crash_generation_client_; }; } // namespace google_breakpad |