From 0cb167b8fb332e4d9726badd0aa58e943bb4b459 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Fri, 10 Aug 2012 14:29:06 -0700 Subject: [PATCH] model: make scheduler private To accomplish this, I needed to add one accessor method for 'get_current_thread()'. --- model.h | 9 ++++++--- threads.cc | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/model.h b/model.h index 2b878b3..86e0b1e 100644 --- a/model.h +++ b/model.h @@ -36,9 +36,6 @@ public: ModelChecker(struct model_params params); ~ModelChecker(); - /** The scheduler to use: tracks the running/ready Threads */ - Scheduler *scheduler; - /** Stores the context for the main model-checking system thread (call * once) * @param ctxt The system context structure @@ -63,6 +60,9 @@ public: int get_num_threads(); modelclock_t get_next_seq_num(); + /** @return The currently executing Thread. */ + Thread * get_current_thread() { return scheduler->get_current_thread(); } + int switch_to_master(ModelAction *act); ClockVector * get_cv(thread_id_t tid); bool next_execution(); @@ -74,6 +74,9 @@ public: MEMALLOC private: + /** The scheduler to use: tracks the running/ready Threads */ + Scheduler *scheduler; + int next_thread_id; modelclock_t used_sequence_numbers; int num_executions; diff --git a/threads.cc b/threads.cc index 2697579..ad88ad3 100644 --- a/threads.cc +++ b/threads.cc @@ -26,7 +26,7 @@ static void stack_free(void *stack) Thread * thread_current(void) { ASSERT(model); - return model->scheduler->get_current_thread(); + return model->get_current_thread(); } /** -- 2.34.1