#include <unistd.h>
-#include <threads.h>
#include "common.h"
-#include "threads-model.h"
#include "output.h"
#include "datarace.h"
#include "model.h"
#include "snapshot-interface.h"
-static void param_defaults(struct model_params * params) {
+static void param_defaults(struct model_params *params)
+{
params->maxreads = 0;
params->maxfuturedelay = 100;
params->fairwindow = 0;
params->verbose = 0;
}
-static void print_usage(struct model_params *params) {
+static void print_usage(struct model_params *params)
+{
/* Reset defaults before printing */
param_defaults(params);
exit(EXIT_SUCCESS);
}
-static void parse_options(struct model_params *params, int argc, char **argv) {
+static void parse_options(struct model_params *params, int argc, char **argv)
+{
const char *shortopts = "hm:M:s:S:f:e:b:v";
int opt;
bool error = false;
char **main_argv;
/** The model_main function contains the main model checking loop. */
-static void model_main() {
+static void model_main()
+{
struct model_params params;
param_defaults(¶ms);
//Initialize race detector
initRaceDetector();
- //Create the singleton SnapshotStack object
- snapshotObject = new SnapshotStack();
+ snapshot_stack_init();
model = new ModelChecker(params);
- snapshotObject->snapshotStep(0);
+ snapshot_record(0);
model->run();
delete model;
* Main function. Just initializes snapshotting library and the
* snapshotting library calls the model_main function.
*/
-int main(int argc, char ** argv) {
+int main(int argc, char **argv)
+{
main_argc = argc;
main_argv = argv;
redirect_output();
/* Let's jump in quickly and start running stuff */
- initSnapshotLibrary(10000, 1024, 1024, 4000, &model_main);
+ snapshot_system_init(10000, 1024, 1024, 4000, &model_main);
}