diff options
author | Mark Salyzyn <salyzyn@google.com> | 2014-04-07 07:15:33 -0700 |
---|---|---|
committer | Mark Salyzyn <salyzyn@google.com> | 2014-04-07 10:51:00 -0700 |
commit | 4ba0387af5acc52e43e4004ccb4c46b8bc700349 (patch) | |
tree | c11aec8cddbe605b0b7ae8da404a570faeede694 /logd | |
parent | 9a03863e88da99ba010342c874252089dd771f7f (diff) | |
download | system_core-4ba0387af5acc52e43e4004ccb4c46b8bc700349.zip system_core-4ba0387af5acc52e43e4004ccb4c46b8bc700349.tar.gz system_core-4ba0387af5acc52e43e4004ccb4c46b8bc700349.tar.bz2 |
logd: Add pidToUid helper
Change-Id: I23ebae1957c027bff6cbc2573a227bf0c44c08a2
Diffstat (limited to 'logd')
-rw-r--r-- | logd/LogBuffer.h | 1 | ||||
-rw-r--r-- | logd/LogStatistics.cpp | 17 | ||||
-rw-r--r-- | logd/LogStatistics.h | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/logd/LogBuffer.h b/logd/LogBuffer.h index 7c57660..bdb3179 100644 --- a/logd/LogBuffer.h +++ b/logd/LogBuffer.h @@ -79,6 +79,7 @@ public: // helper char *pidToName(pid_t pid) { return stats.pidToName(pid); } + uid_t pidToUid(pid_t pid) { return stats.pidToUid(pid); } private: void maybePrune(log_id_t id); diff --git a/logd/LogStatistics.cpp b/logd/LogStatistics.cpp index 99c376a..82a3a90 100644 --- a/logd/LogStatistics.cpp +++ b/logd/LogStatistics.cpp @@ -728,3 +728,20 @@ void LogStatistics::format(char **buf, *buf = strdup(string.string()); } + +uid_t LogStatistics::pidToUid(pid_t pid) { + log_id_for_each(i) { + LidStatistics &l = id(i); + UidStatisticsCollection::iterator iu; + for (iu = l.begin(); iu != l.end(); ++iu) { + UidStatistics &u = *(*iu); + PidStatisticsCollection::iterator ip; + for (ip = u.begin(); ip != u.end(); ++ip) { + if ((*ip)->getPid() == pid) { + return u.getUid(); + } + } + } + } + return getuid(); // associate this with the logger +} diff --git a/logd/LogStatistics.h b/logd/LogStatistics.h index 4a57435..12c68d5 100644 --- a/logd/LogStatistics.h +++ b/logd/LogStatistics.h @@ -172,6 +172,7 @@ public: // helper static char *pidToName(pid_t pid) { return PidStatistics::pidToName(pid); } + uid_t pidToUid(pid_t pid); }; #endif // _LOGD_LOG_STATISTICS_H__ |