Clean up internal libc logging.
We only need one logging API, and I prefer the one that does no
allocation and is thus safe to use in any context.
Also use O_CLOEXEC when opening the /dev/log files.
Move everything logging-related into one header file.
Change-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58
diff --git a/linker/debugger.cpp b/linker/debugger.cpp
index 586cd2f..6fddb1c 100644
--- a/linker/debugger.cpp
+++ b/linker/debugger.cpp
@@ -37,9 +37,6 @@
#include <sys/socket.h>
#include <sys/un.h>
-#include <private/debug_format.h>
-#include <private/logd.h>
-
extern "C" int tgkill(int tgid, int tid, int sig);
#define DEBUGGER_SOCKET_NAME "android:debuggerd"
@@ -157,15 +154,15 @@
sigemptyset(&newact.sa_mask);
if (sigaction(signum, &newact, &oldact) < 0) {
- __libc_android_log_write(ANDROID_LOG_FATAL, "libc",
- "Failed testing for SA_SIGINFO");
- return 0;
+ __libc_format_log(ANDROID_LOG_FATAL, "libc", "Failed testing for SA_SIGINFO: %s",
+ strerror(errno));
+ return 0;
}
bool ret = (oldact.sa_flags & SA_SIGINFO) != 0;
- if (sigaction(signum, &oldact, NULL) < 0) {
- __libc_android_log_write(ANDROID_LOG_FATAL, "libc",
- "Restore failed in test for SA_SIGINFO");
+ if (sigaction(signum, &oldact, NULL) == -1) {
+ __libc_format_log(ANDROID_LOG_FATAL, "libc", "Restore failed in test for SA_SIGINFO: %s",
+ strerror(errno));
}
return ret;
}