Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01dc0c65 authored by Rhed Jao's avatar Rhed Jao
Browse files

Sorts the vector of files by the mtimes

GetDumpFds should return a vector sorted with descending
order by the mtimes of dumps.

Bug: 149242559
Test: atest dumpstate_test
Test: adb bugreport && verify last anr dumped
Change-Id: I1ed9ceb35ec93b10660f2fb31785899d50bd285d
parent 983e568b
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -305,8 +305,9 @@ static const CommandOptions AS_ROOT_20 = CommandOptions::WithTimeout(20).AsRoot(

/*
 * Returns a vector of dump fds under |dir_path| with a given |file_prefix|.
 * The returned vector is sorted by the mtimes of the dumps. If |limit_by_mtime|
 * is set, the vector only contains files that were written in the last 30 minutes.
 * The returned vector is sorted by the mtimes of the dumps with descending
 * order. If |limit_by_mtime| is set, the vector only contains files that
 * were written in the last 30 minutes.
 */
static std::vector<DumpData> GetDumpFds(const std::string& dir_path,
                                        const std::string& file_prefix,
@@ -353,6 +354,10 @@ static std::vector<DumpData> GetDumpFds(const std::string& dir_path,

        dump_data.emplace_back(DumpData{abs_path, std::move(fd), st.st_mtime});
    }
    if (!dump_data.empty()) {
        std::sort(dump_data.begin(), dump_data.end(),
            [](const auto& a, const auto& b) { return a.mtime > b.mtime; });
    }

    return dump_data;
}