autostart_log: rework without threading

Using any kind of sleep or while loop causes a crash when running in wine.
So let's not do that.
pull/1199/head
flightlessmango 4 months ago
parent adbafe1450
commit 1d357e17c8

@ -60,6 +60,7 @@ public:
std::string output_folder;
const int64_t log_interval;
const int64_t log_duration;
bool autostart_init = false;
private:
std::vector<logData> m_log_array;

@ -275,6 +275,13 @@ void update_hud_info_with_frametime(struct swapchain_stats& sw_stats, const stru
sw_stats.time = time.str();
}
if (params.autostart_log && logger && !logger->autostart_init) {
if ((std::chrono::steady_clock::now() - HUDElements.overlay_start) > std::chrono::seconds(params.autostart_log)){
logger->start_logging();
logger->autostart_init = true;
}
}
sw_stats.n_frames_since_update = 0;
sw_stats.last_fps_update = now;

@ -972,8 +972,6 @@ parse_overlay_config(struct overlay_params *params,
logger->stop_logging();
}
logger = std::make_unique<Logger>(params);
if(params->autostart_log && !logger->is_active())
std::thread(autostart_log, params->autostart_log).detach();
#ifdef MANGOAPP
{
extern bool new_frame;

Loading…
Cancel
Save