X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=pipe.cc;h=1f451dcbe41ee85473494bad7896206594a57afc;hp=37bb0dc6620079e6b7b612e673c36e02debb62ae;hb=7742256df627848c1c375f979f5369a45c92057b;hpb=5e1a28da4b386d5ce5da2c9d03b8e4b637f4ee28;ds=sidebyside diff --git a/pipe.cc b/pipe.cc index 37bb0dc6..1f451dcb 100644 --- a/pipe.cc +++ b/pipe.cc @@ -1,22 +1,21 @@ #include "common.h" #include #include "model.h" +#include "snapshot-interface.h" #include +#include static int (*pipe_init_p)(int filep[2]) = NULL; int pipe(int fildes[2]) { - if (!model) { - snapshot_system_init(10000, 1024, 1024, 40000); - model = new ModelChecker(); - model->startChecker(); - } - if (!pipe_init_p) { - pipe_init_p = (int (*)(int file[2])) dlsym(RTLD_NEXT, "pipe"); - if ((error = dlerror()) != NULL) { - fputs(error, stderr); - exit(EXIT_FAILURE); - } - } - pipe_init_p(filedes); + createModelIfNotExist(); + if (!pipe_init_p) { + pipe_init_p = (int (*)(int fildes[2]))dlsym(RTLD_NEXT, "pipe"); + char *error = dlerror(); + if (error != NULL) { + fputs(error, stderr); + exit(EXIT_FAILURE); + } + } + return pipe_init_p(fildes); }