am ef16a17a: Merge "adb: set O_CLOEXEC on lots of file descriptors" into lmp-dev
* commit 'ef16a17afb8894776ce0be88b8a9ea705f9d64e5':
adb: set O_CLOEXEC on lots of file descriptors
diff --git a/debuggerd/utility.cpp b/debuggerd/utility.cpp
index a163344..9a30fe3 100644
--- a/debuggerd/utility.cpp
+++ b/debuggerd/utility.cpp
@@ -59,6 +59,8 @@
void _LOG(log_t* log, enum logtype ltype, const char* fmt, ...) {
bool write_to_tombstone = (log->tfd != -1);
bool write_to_logcat = is_allowed_in_logcat(ltype)
+ && log->crashed_tid != -1
+ && log->current_tid != -1
&& (log->crashed_tid == log->current_tid);
bool write_to_activitymanager = (log->amfd != -1);
diff --git a/debuggerd/utility.h b/debuggerd/utility.h
index 518305d..31684ce 100644
--- a/debuggerd/utility.h
+++ b/debuggerd/utility.h
@@ -37,7 +37,7 @@
#endif
-typedef struct {
+struct log_t{
/* tombstone file descriptor */
int tfd;
/* Activity Manager socket file descriptor */
@@ -46,7 +46,10 @@
pid_t crashed_tid;
// The tid of the thread we are currently working with.
pid_t current_tid;
-} log_t;
+
+ log_t()
+ : tfd(-1), amfd(-1), crashed_tid(-1), current_tid(-1) {}
+};
// List of types of logs to simplify the logging decision in _LOG
enum logtype {
diff --git a/rootdir/init.rc b/rootdir/init.rc
index bbce64f..8eef76b 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -184,11 +184,12 @@
# issued fs triggers have completed.
trigger load_all_props_action
+ # Remove a file to wake up anything waiting for firmware.
+ trigger firmware_mounts_complete
+
trigger early-boot
trigger boot
- # Remove a file to wake up anything waiting for firmware
- trigger firmware_mounts_complete
on post-fs
# once everything is setup, no need to modify /