fix mutex_trylock bug
[c11tester.git] / fuzzer.h
index d291268610721b918e48f2e7eea296a302e81479..0fcfb51f67e66ff9ee439f9b48c1bd860838cbfa 100644 (file)
--- a/fuzzer.h
+++ b/fuzzer.h
@@ -3,17 +3,21 @@
 #include "classlist.h"
 #include "mymemory.h"
 #include "stl-model.h"
+#include "threads-model.h"
 
 class Fuzzer {
 public:
        Fuzzer() {}
        virtual int selectWrite(ModelAction *read, SnapVector<ModelAction *>* rf_set);
-       Thread * selectThread(int * threadlist, int numthreads);
-       Thread * selectNotify(action_list_t * waiters);
+       virtual bool has_paused_threads() { return false; }
+       virtual Thread * selectThread(int * threadlist, int numthreads);
+
+       Thread * selectNotify(simple_action_list_t * waiters);
        bool shouldSleep(const ModelAction *sleep);
        bool shouldWake(const ModelAction *sleep);
-       virtual void register_engine(ModelHistory * history, ModelExecution * execution) {}
-       MEMALLOC
+       virtual bool shouldWait(const ModelAction *wait);
+       virtual void register_engine(ModelChecker * _model, ModelExecution * execution) {}
+       SNAPSHOTALLOC
 private:
 };
 #endif