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

Commit d7803db0 authored by Wei Liu's avatar Wei Liu
Browse files

Hold a wakelock during dumpstate.

b/30832947

Change-Id: I9f6f6a9a9cef80aafea5eeb7769f4ac19baba3e5
parent c4178812
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ LOCAL_SRC_FILES := dumpstate.cpp utils.cpp

LOCAL_MODULE := dumpstate

LOCAL_SHARED_LIBRARIES := libcutils liblog libselinux libbase
LOCAL_SHARED_LIBRARIES := libcutils liblog libselinux libbase libhardware_legacy
# ZipArchive support, the order matters here to get all symbols.
LOCAL_STATIC_LIBRARIES := libziparchive libz libmincrypt
LOCAL_HAL_STATIC_LIBRARIES := libdumpstate
+9 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@
#include <android-base/stringprintf.h>
#include <android-base/file.h>
#include <cutils/properties.h>
#include <hardware_legacy/power.h>

#include "private/android_filesystem_config.h"

@@ -82,6 +83,7 @@ static std::string suffix;
#define TOMBSTONE_MAX_LEN (sizeof(TOMBSTONE_FILE_PREFIX) + 4)
#define NUM_TOMBSTONES  10
#define WLUTIL "/vendor/xbin/wlutil"
#define WAKE_LOCK_NAME "dumpstate_wakelock"

typedef struct {
  char name[TOMBSTONE_MAX_LEN];
@@ -1198,6 +1200,10 @@ static std::string SHA256_file_hash(std::string filepath) {
    return std::string(hash_buffer);
}

static void wake_lock_releaser() {
    release_wake_lock(WAKE_LOCK_NAME);
}

int main(int argc, char *argv[]) {
    struct sigaction sigact;
    int do_add_date = 0;
@@ -1216,6 +1222,9 @@ int main(int argc, char *argv[]) {

    MYLOGI("begin\n");

    acquire_wake_lock(PARTIAL_WAKE_LOCK, WAKE_LOCK_NAME);
    atexit(wake_lock_releaser);

    /* gets the sequential id */
    char last_id[PROPERTY_VALUE_MAX];
    property_get("dumpstate.last_id", last_id, "0");