model: add global model_checker initialization
authorBrian Norris <banorris@uci.edu>
Mon, 12 Mar 2012 22:51:56 +0000 (15:51 -0700)
committerBrian Norris <banorris@uci.edu>
Mon, 12 Mar 2012 22:51:56 +0000 (15:51 -0700)
model.c
model.h

diff --git a/model.c b/model.c
index 0e1234cd2ee109c800f0511de85b085f2f56b822..ac50e3e71e48102e1040f3208ba4ba4692b7131d 100644 (file)
--- a/model.c
+++ b/model.c
@@ -1 +1,23 @@
 #include "model.h"
+#include "schedule.h"
+#include <stdlib.h>
+#include <string.h>
+
+struct model_checker *model;
+
+void model_checker_init(void)
+{
+       model = malloc(sizeof(*model));
+       memset(model, 0, sizeof(*model));
+       scheduler_init(model);
+}
+
+void model_checker_exit(void)
+{
+       struct scheduler *sched = model->scheduler;
+
+       if (sched->exit)
+               sched->exit();
+       free(sched);
+       free(model);
+}
diff --git a/model.h b/model.h
index 73c3d0c0f91ad0e5d246a9bb788adda0f8d76a91..e075ea254640e7f32c0392d027af60a308b329c2 100644 (file)
--- a/model.h
+++ b/model.h
@@ -5,4 +5,8 @@ struct model_checker {
        struct scheduler *scheduler;
 };
 
+extern struct model_checker *model;
+
+void model_checker_init(void);
+
 #endif /* __MODEL_H__ */