Loading cmds/dumpstate/DumpstateService.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,8 @@ binder::Status DumpstateService::startBugreport(int32_t calling_uid, ds_info->calling_package = calling_package; pthread_t thread; // Initialize dumpstate ds_->Initialize(); status_t err = pthread_create(&thread, nullptr, dumpstate_thread_main, ds_info); if (err != 0) { delete ds_info; Loading cmds/dumpstate/dumpstate.cpp +10 −7 Original line number Diff line number Diff line Loading @@ -2395,6 +2395,13 @@ void Dumpstate::SetOptions(std::unique_ptr<DumpOptions> options) { options_ = std::move(options); } void Dumpstate::Initialize() { /* gets the sequential id */ uint32_t last_id = android::base::GetIntProperty(PROPERTY_LAST_ID, 0); id_ = ++last_id; android::base::SetProperty(PROPERTY_LAST_ID, std::to_string(last_id)); } Dumpstate::RunStatus Dumpstate::Run(int32_t calling_uid, const std::string& calling_package) { Dumpstate::RunStatus status = RunInternal(calling_uid, calling_package); if (listener_ != nullptr) { Loading Loading @@ -2505,11 +2512,6 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid, : ""; progress_.reset(new Progress(stats_path)); /* gets the sequential id */ uint32_t last_id = android::base::GetIntProperty(PROPERTY_LAST_ID, 0); id_ = ++last_id; android::base::SetProperty(PROPERTY_LAST_ID, std::to_string(last_id)); if (acquire_wake_lock(PARTIAL_WAKE_LOCK, WAKE_LOCK_NAME) < 0) { MYLOGE("Failed to acquire wake lock: %s\n", strerror(errno)); } else { Loading Loading @@ -2837,8 +2839,9 @@ Dumpstate::RunStatus Dumpstate::ParseCommandlineAndRun(int argc, char* argv[]) { assert(options_->bugreport_fd.get() == -1); // calling_uid and calling_package are for user consent to share the bugreport with // an app; they are irrelvant here because bugreport is only written to a local // directory, and not shared. // an app; they are irrelevant here because bugreport is triggered via command line. // Update Last ID before calling Run(). Initialize(); status = Run(-1 /* calling_uid */, "" /* calling_package */); } return status; Loading cmds/dumpstate/dumpstate.h +9 −1 Original line number Diff line number Diff line Loading @@ -216,6 +216,9 @@ class Dumpstate { /* Checkes whether dumpstate is generating a zipped bugreport. */ bool IsZipping() const; /* Initialize dumpstate fields before starting bugreport generation */ void Initialize(); /* * Forks a command, waits for it to finish, and returns its status. * Loading Loading @@ -329,7 +332,12 @@ class Dumpstate { struct DumpOptions; /* Main entry point for running a complete bugreport. */ /* * Main entry point for running a complete bugreport. * * Initialize() dumpstate before calling this method. * */ RunStatus Run(int32_t calling_uid, const std::string& calling_package); RunStatus ParseCommandlineAndRun(int argc, char* argv[]); Loading Loading
cmds/dumpstate/DumpstateService.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -137,6 +137,8 @@ binder::Status DumpstateService::startBugreport(int32_t calling_uid, ds_info->calling_package = calling_package; pthread_t thread; // Initialize dumpstate ds_->Initialize(); status_t err = pthread_create(&thread, nullptr, dumpstate_thread_main, ds_info); if (err != 0) { delete ds_info; Loading
cmds/dumpstate/dumpstate.cpp +10 −7 Original line number Diff line number Diff line Loading @@ -2395,6 +2395,13 @@ void Dumpstate::SetOptions(std::unique_ptr<DumpOptions> options) { options_ = std::move(options); } void Dumpstate::Initialize() { /* gets the sequential id */ uint32_t last_id = android::base::GetIntProperty(PROPERTY_LAST_ID, 0); id_ = ++last_id; android::base::SetProperty(PROPERTY_LAST_ID, std::to_string(last_id)); } Dumpstate::RunStatus Dumpstate::Run(int32_t calling_uid, const std::string& calling_package) { Dumpstate::RunStatus status = RunInternal(calling_uid, calling_package); if (listener_ != nullptr) { Loading Loading @@ -2505,11 +2512,6 @@ Dumpstate::RunStatus Dumpstate::RunInternal(int32_t calling_uid, : ""; progress_.reset(new Progress(stats_path)); /* gets the sequential id */ uint32_t last_id = android::base::GetIntProperty(PROPERTY_LAST_ID, 0); id_ = ++last_id; android::base::SetProperty(PROPERTY_LAST_ID, std::to_string(last_id)); if (acquire_wake_lock(PARTIAL_WAKE_LOCK, WAKE_LOCK_NAME) < 0) { MYLOGE("Failed to acquire wake lock: %s\n", strerror(errno)); } else { Loading Loading @@ -2837,8 +2839,9 @@ Dumpstate::RunStatus Dumpstate::ParseCommandlineAndRun(int argc, char* argv[]) { assert(options_->bugreport_fd.get() == -1); // calling_uid and calling_package are for user consent to share the bugreport with // an app; they are irrelvant here because bugreport is only written to a local // directory, and not shared. // an app; they are irrelevant here because bugreport is triggered via command line. // Update Last ID before calling Run(). Initialize(); status = Run(-1 /* calling_uid */, "" /* calling_package */); } return status; Loading
cmds/dumpstate/dumpstate.h +9 −1 Original line number Diff line number Diff line Loading @@ -216,6 +216,9 @@ class Dumpstate { /* Checkes whether dumpstate is generating a zipped bugreport. */ bool IsZipping() const; /* Initialize dumpstate fields before starting bugreport generation */ void Initialize(); /* * Forks a command, waits for it to finish, and returns its status. * Loading Loading @@ -329,7 +332,12 @@ class Dumpstate { struct DumpOptions; /* Main entry point for running a complete bugreport. */ /* * Main entry point for running a complete bugreport. * * Initialize() dumpstate before calling this method. * */ RunStatus Run(int32_t calling_uid, const std::string& calling_package); RunStatus ParseCommandlineAndRun(int argc, char* argv[]); Loading