From 21d58c728185e616c9ae8076143af0955d6fe4df Mon Sep 17 00:00:00 2001 From: "ted.mielczarek" Date: Mon, 11 Jun 2007 16:01:46 +0000 Subject: Issue 182: linux handler doesn't have sigcontext if called from a previous signal handler. r=mento / Liu Li git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@188 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/client/linux/handler/exception_handler.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/client/linux/handler/exception_handler.h') diff --git a/src/client/linux/handler/exception_handler.h b/src/client/linux/handler/exception_handler.h index 0c0a2e83..2a212315 100644 --- a/src/client/linux/handler/exception_handler.h +++ b/src/client/linux/handler/exception_handler.h @@ -132,7 +132,7 @@ class ExceptionHandler { // execution state independently of a crash. Returns true on success. bool WriteMinidump(); - // Convenience form of WriteMinidump which does not require an + // Convenience form of WriteMinidump which does not require an // ExceptionHandler instance. static bool WriteMinidump(const string &dump_path, MinidumpCallback callback, @@ -151,7 +151,14 @@ class ExceptionHandler { // Signal handler. static void HandleException(int signo); - bool InternalWriteMinidump(int signo, const struct sigcontext *sig_ctx); + // If called from a signal handler, sighandler_ebp is the ebp of + // that signal handler's frame, and sig_ctx is an out parameter + // that will be set to point at the sigcontext that was placed + // on the stack by the kernel. You can pass zero and NULL + // for the second and third parameters if you are not calling + // this from a signal handler. + bool InternalWriteMinidump(int signo, uintptr_t sighandler_ebp, + struct sigcontext **sig_ctx); private: FilterCallback filter_; -- cgit v1.2.1