Loading libprocessgroup/task_profiles.cpp +7 −25 Original line number Diff line number Diff line Loading @@ -203,33 +203,15 @@ bool SetClampsAction::ExecuteForTask(int) const { // To avoid issues in sdk_mac build #if defined(__ANDROID__) bool SetTimerSlackAction::IsTimerSlackSupported(pid_t tid) { auto file = StringPrintf("/proc/%d/timerslack_ns", tid); return (access(file.c_str(), W_OK) == 0); } bool SetTimerSlackAction::ExecuteForTask(pid_t tid) const { static bool sys_supports_timerslack = IsTimerSlackSupported(tid); // v4.6+ kernels support the /proc/<tid>/timerslack_ns interface. // TODO: once we've backported this, log if the open(2) fails. if (sys_supports_timerslack) { auto file = StringPrintf("/proc/%d/timerslack_ns", tid); const auto file = StringPrintf("/proc/%d/timerslack_ns", tid); if (!WriteStringToFile(std::to_string(slack_), file)) { if (errno == ENOENT) { // This happens when process is already dead return true; } PLOG(ERROR) << "set_timerslack_ns write failed"; } } // TODO: Remove when /proc/<tid>/timerslack_ns interface is backported. if (tid == 0 || tid == GetThreadId()) { if (prctl(PR_SET_TIMERSLACK, slack_) == -1) { PLOG(ERROR) << "set_timerslack_ns prctl failed"; } return false; } return true; Loading libprocessgroup/task_profiles.h +0 −2 Original line number Diff line number Diff line Loading @@ -114,8 +114,6 @@ class SetTimerSlackAction : public ProfileAction { private: unsigned long slack_; static bool IsTimerSlackSupported(pid_t tid); }; // Set attribute profile element Loading Loading
libprocessgroup/task_profiles.cpp +7 −25 Original line number Diff line number Diff line Loading @@ -203,33 +203,15 @@ bool SetClampsAction::ExecuteForTask(int) const { // To avoid issues in sdk_mac build #if defined(__ANDROID__) bool SetTimerSlackAction::IsTimerSlackSupported(pid_t tid) { auto file = StringPrintf("/proc/%d/timerslack_ns", tid); return (access(file.c_str(), W_OK) == 0); } bool SetTimerSlackAction::ExecuteForTask(pid_t tid) const { static bool sys_supports_timerslack = IsTimerSlackSupported(tid); // v4.6+ kernels support the /proc/<tid>/timerslack_ns interface. // TODO: once we've backported this, log if the open(2) fails. if (sys_supports_timerslack) { auto file = StringPrintf("/proc/%d/timerslack_ns", tid); const auto file = StringPrintf("/proc/%d/timerslack_ns", tid); if (!WriteStringToFile(std::to_string(slack_), file)) { if (errno == ENOENT) { // This happens when process is already dead return true; } PLOG(ERROR) << "set_timerslack_ns write failed"; } } // TODO: Remove when /proc/<tid>/timerslack_ns interface is backported. if (tid == 0 || tid == GetThreadId()) { if (prctl(PR_SET_TIMERSLACK, slack_) == -1) { PLOG(ERROR) << "set_timerslack_ns prctl failed"; } return false; } return true; Loading
libprocessgroup/task_profiles.h +0 −2 Original line number Diff line number Diff line Loading @@ -114,8 +114,6 @@ class SetTimerSlackAction : public ProfileAction { private: unsigned long slack_; static bool IsTimerSlackSupported(pid_t tid); }; // Set attribute profile element Loading