model: move model.c --> model.cc
[c11tester.git] / model.cc
1 #include "model.h"
2 #include "schedule.h"
3 #include <stdlib.h>
4 #include <string.h>
5
6 ModelChecker *model;
7
8 ModelChecker::ModelChecker()
9 {
10         /* First thread created (system_thread) will have id 1 */
11         this->used_thread_id = 0;
12
13         scheduler_init(this);
14 }
15
16 ModelChecker::~ModelChecker()
17 {
18         struct scheduler *sched = model->scheduler;
19
20         if (sched->exit)
21                 sched->exit();
22         free(sched);
23 }
24
25 void ModelChecker::assign_id(struct thread *t)
26 {
27         t->id = ++this->used_thread_id;
28 }
29
30 void ModelChecker::add_system_thread(struct thread *t)
31 {
32         model->system_thread = t;
33 }