Loading debuggerd/debuggerd.cpp +7 −9 Original line number Diff line number Diff line Loading @@ -366,38 +366,36 @@ static void handle_request(int fd) { } static int do_server() { int s; struct sigaction act; int logsocket = -1; // debuggerd crashes can't be reported to debuggerd. Reset all of the // crash handlers. signal(SIGILL, SIG_DFL); // debuggerd crashes can't be reported to debuggerd. // Reset all of the crash handlers. signal(SIGABRT, SIG_DFL); signal(SIGBUS, SIG_DFL); signal(SIGFPE, SIG_DFL); signal(SIGILL, SIG_DFL); signal(SIGSEGV, SIG_DFL); #ifdef SIGSTKFLT signal(SIGSTKFLT, SIG_DFL); #endif signal(SIGTRAP, SIG_DFL); // Ignore failed writes to closed sockets signal(SIGPIPE, SIG_IGN); logsocket = socket_local_client("logd", ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_DGRAM); int logsocket = socket_local_client("logd", ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_DGRAM); if (logsocket < 0) { logsocket = -1; } else { fcntl(logsocket, F_SETFD, FD_CLOEXEC); } struct sigaction act; act.sa_handler = SIG_DFL; sigemptyset(&act.sa_mask); sigaddset(&act.sa_mask,SIGCHLD); act.sa_flags = SA_NOCLDWAIT; sigaction(SIGCHLD, &act, 0); s = socket_local_server(DEBUGGER_SOCKET_NAME, ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM); int s = socket_local_server(DEBUGGER_SOCKET_NAME, ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM); if (s < 0) return 1; fcntl(s, F_SETFD, FD_CLOEXEC); Loading debuggerd/tombstone.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -58,10 +58,10 @@ static bool signal_has_si_addr(int sig) { switch (sig) { case SIGILL: case SIGBUS: case SIGFPE: case SIGILL: case SIGSEGV: case SIGBUS: return true; default: return false; Loading @@ -70,16 +70,17 @@ static bool signal_has_si_addr(int sig) { static const char* get_signame(int sig) { switch(sig) { case SIGILL: return "SIGILL"; case SIGABRT: return "SIGABRT"; case SIGBUS: return "SIGBUS"; case SIGFPE: return "SIGFPE"; case SIGSEGV: return "SIGSEGV"; case SIGILL: return "SIGILL"; case SIGPIPE: return "SIGPIPE"; case SIGSEGV: return "SIGSEGV"; #if defined(SIGSTKFLT) case SIGSTKFLT: return "SIGSTKFLT"; #endif case SIGSTOP: return "SIGSTOP"; case SIGTRAP: return "SIGTRAP"; default: return "?"; } } Loading Loading
debuggerd/debuggerd.cpp +7 −9 Original line number Diff line number Diff line Loading @@ -366,38 +366,36 @@ static void handle_request(int fd) { } static int do_server() { int s; struct sigaction act; int logsocket = -1; // debuggerd crashes can't be reported to debuggerd. Reset all of the // crash handlers. signal(SIGILL, SIG_DFL); // debuggerd crashes can't be reported to debuggerd. // Reset all of the crash handlers. signal(SIGABRT, SIG_DFL); signal(SIGBUS, SIG_DFL); signal(SIGFPE, SIG_DFL); signal(SIGILL, SIG_DFL); signal(SIGSEGV, SIG_DFL); #ifdef SIGSTKFLT signal(SIGSTKFLT, SIG_DFL); #endif signal(SIGTRAP, SIG_DFL); // Ignore failed writes to closed sockets signal(SIGPIPE, SIG_IGN); logsocket = socket_local_client("logd", ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_DGRAM); int logsocket = socket_local_client("logd", ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_DGRAM); if (logsocket < 0) { logsocket = -1; } else { fcntl(logsocket, F_SETFD, FD_CLOEXEC); } struct sigaction act; act.sa_handler = SIG_DFL; sigemptyset(&act.sa_mask); sigaddset(&act.sa_mask,SIGCHLD); act.sa_flags = SA_NOCLDWAIT; sigaction(SIGCHLD, &act, 0); s = socket_local_server(DEBUGGER_SOCKET_NAME, ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM); int s = socket_local_server(DEBUGGER_SOCKET_NAME, ANDROID_SOCKET_NAMESPACE_ABSTRACT, SOCK_STREAM); if (s < 0) return 1; fcntl(s, F_SETFD, FD_CLOEXEC); Loading
debuggerd/tombstone.cpp +5 −4 Original line number Diff line number Diff line Loading @@ -58,10 +58,10 @@ static bool signal_has_si_addr(int sig) { switch (sig) { case SIGILL: case SIGBUS: case SIGFPE: case SIGILL: case SIGSEGV: case SIGBUS: return true; default: return false; Loading @@ -70,16 +70,17 @@ static bool signal_has_si_addr(int sig) { static const char* get_signame(int sig) { switch(sig) { case SIGILL: return "SIGILL"; case SIGABRT: return "SIGABRT"; case SIGBUS: return "SIGBUS"; case SIGFPE: return "SIGFPE"; case SIGSEGV: return "SIGSEGV"; case SIGILL: return "SIGILL"; case SIGPIPE: return "SIGPIPE"; case SIGSEGV: return "SIGSEGV"; #if defined(SIGSTKFLT) case SIGSTKFLT: return "SIGSTKFLT"; #endif case SIGSTOP: return "SIGSTOP"; case SIGTRAP: return "SIGTRAP"; default: return "?"; } } Loading