threads: don't make direct call into scheduler
[model-checker.git] / model.cc
index f3844f0ad1e1d70d0060934eef73ca7032a048d8..f50b0f9a60777557429c33ab7fc4b3236ef1cb6f 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -30,9 +30,9 @@ ModelChecker::~ModelChecker()
        delete rootNode;
 }
 
-void ModelChecker::assign_id(Thread *t)
+int ModelChecker::get_next_id()
 {
-       t->set_id(++used_thread_id);
+       return ++used_thread_id;
 }
 
 void ModelChecker::add_system_thread(Thread *t)
@@ -201,6 +201,7 @@ void ModelChecker::print_trace(void)
 int ModelChecker::add_thread(Thread *t)
 {
        thread_map[t->get_id()] = t;
+       scheduler->add_thread(t);
        return 0;
 }