model: move 'main_thread' to model_checker struct
[model-checker.git] / model.c
1 #include "model.h"
2 #include "schedule.h"
3 #include <stdlib.h>
4 #include <string.h>
5
6 struct model_checker *model;
7
8 void model_checker_add_system_thread(struct thread *t)
9 {
10         model->system_thread = t;
11 }
12
13 void model_checker_init(void)
14 {
15         model = malloc(sizeof(*model));
16         memset(model, 0, sizeof(*model));
17         scheduler_init(model);
18 }
19
20 void model_checker_exit(void)
21 {
22         struct scheduler *sched = model->scheduler;
23
24         if (sched->exit)
25                 sched->exit();
26         free(sched);
27         free(model);
28 }