Fix Android build.

This patch fixes the Android build, and updates the NDK test
application to use the new Linux ExceptionHandler API.

+ Use string insted of std::string in minidump_descriptor.h
Review URL: https://breakpad.appspot.com/433002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1016 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
digit@chromium.org 2012-08-20 20:22:05 +00:00
parent 5f57e963d0
commit d270dcfa18
4 changed files with 16 additions and 6 deletions

View file

@ -326,11 +326,16 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
// This is a public interface to HandleSignal that allows the client to
// generate a crash dump. This function may run in a compromised context.
bool ExceptionHandler::SimulateSignalDelivery(int sig) {
#ifdef __ANDROID__
// Android doesn't provide getcontext().
return false;
#else
siginfo_t siginfo;
my_memset(&siginfo, 0, sizeof(siginfo_t));
struct ucontext context;
getcontext(&context);
return HandleSignal(sig, &siginfo, &context);
#endif
}
// This function may run in a compromised context: see the top of the file.

View file

@ -33,6 +33,8 @@
#include <assert.h>
#include <string>
#include "common/using_std_string.h"
// The MinidumpDescriptor describes how to access a minidump: it can contain
// either a file descriptor or a path.
// Note that when using files, it is created with the path to a directory.
@ -71,9 +73,9 @@ class MinidumpDescriptor {
const int fd_;
// The directory where the minidump should be generated.
const std::string directory_;
const string directory_;
// The full path to the generated minidump.
std::string path_;
string path_;
// The C string of |path_|. Precomputed so it can be access from a compromised
// context.
const char* c_path_;