From 5ad39ec769fa09b9ac4dcc8f66232ef51384a3c6 Mon Sep 17 00:00:00 2001 From: bd Date: Sat, 19 Apr 2025 12:18:14 -0400 Subject: Safely delete old controller object when re-initializing --- gui/worker.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gui/worker.h') diff --git a/gui/worker.h b/gui/worker.h index acfffcf..20a9838 100644 --- a/gui/worker.h +++ b/gui/worker.h @@ -12,6 +12,7 @@ #include #include #include +#include #include class Worker : public QObject @@ -28,7 +29,10 @@ class Worker : public QObject EX *ex_stage; MM *mm_stage; WB *wb_stage; - Controller *ct; + + Controller *ct = nullptr; + QMutex ct_mutex; + /** * The size each progressive cache level increases by. */ @@ -37,11 +41,9 @@ class Worker : public QObject public: explicit Worker(QObject *parent = nullptr); ~Worker(); + QMutex& get_ct_mutex() { return ct_mutex; } public slots: - void refreshDram(); - void refreshCache(); - void refreshRegisters(); void runSteps(int steps); void configure( std::vector ways, -- cgit v1.2.3