-/* Copyright (c) 2016. The SimGrid Team.
+/* Copyright (c) 2016-2019. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include <sys/prctl.h>
#endif
-#include <sys/types.h>
+#include "xbt/sysdep.h"
+#include "xbt/system_error.hpp"
#include <sys/socket.h>
-#include <xbt/sysdep.h>
-#include <xbt/system_error.hpp>
+#include <sys/types.h>
#include <functional>
-#include <xbt/log.h>
+#include "xbt/log.h"
#include "src/mc/mc_forward.hpp"
#include "src/mc/ModelChecker.hpp"
std::unique_ptr<ModelChecker> modelChecker_;
std::shared_ptr<simgrid::mc::Snapshot> initialSnapshot_;
-private:
Session(pid_t pid, int socket);
// No copy:
~Session();
void close();
-public:
void initialize();
void execute(Transition const& transition);
void logState();
void restoreInitialState();
-public: // static constructors
+ // static constructors
/** Create a new session by forking
*
*
* The code is expected to `exec` the model-checker program.
*/
- static Session* fork(std::function<void()> code);
+ static Session* fork(const std::function<void()>& code);
/** Spawn a model-checked process
*