A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git]
/
src
/
mc
/
mc_base.cpp
diff --git
a/src/mc/mc_base.cpp
b/src/mc/mc_base.cpp
index
8c8610f
..
d7cf4eb
100644
(file)
--- a/
src/mc/mc_base.cpp
+++ b/
src/mc/mc_base.cpp
@@
-8,18
+8,17
@@
#include <simgrid/simix.h>
#include <simgrid/simix.h>
-#include "mc_base.h"
-#include "
..
/simix/smx_private.h"
-#include "mc/mc_record.h"
-#include "mc/mc_replay.h"
+#include "
src/mc/
mc_base.h"
+#include "
src
/simix/smx_private.h"
+#include "
src/
mc/mc_record.h"
+#include "
src/
mc/mc_replay.h"
#include "mc/mc.h"
#include "mc/mc.h"
-#include "mc_protocol.h"
+#include "
src/mc/
mc_protocol.h"
#ifdef HAVE_MC
#ifdef HAVE_MC
-#include "mc_process.h"
-#include "ModelChecker.hpp"
-#include "mc_smx.h"
-#include "mc_server.h"
+#include "src/mc/Process.hpp"
+#include "src/mc/ModelChecker.hpp"
+#include "src/mc/mc_smx.h"
#endif
#ifdef HAVE_MC
#endif
#ifdef HAVE_MC
@@
-41,12
+40,7
@@
int MC_random(int min, int max)
void MC_wait_for_requests(void)
{
void MC_wait_for_requests(void)
{
-#ifdef HAVE_MC
- if (mc_mode == MC_MODE_SERVER) {
- MC_server_wait_client(&mc_model_checker->process());
- return;
- }
-#endif
+ assert(mc_mode != MC_MODE_SERVER);
smx_process_t process;
smx_simcall_t req;
smx_process_t process;
smx_simcall_t req;
@@
-142,6
+136,9
@@
int MC_request_is_enabled(smx_simcall_t req)
return FALSE;
}
return FALSE;
}
+ case SIMCALL_MUTEX_TRYLOCK:
+ return TRUE;
+
case SIMCALL_MUTEX_LOCK: {
smx_mutex_t mutex = simcall_mutex_lock__get__mutex(req);
#ifdef HAVE_MC
case SIMCALL_MUTEX_LOCK: {
smx_mutex_t mutex = simcall_mutex_lock__get__mutex(req);
#ifdef HAVE_MC
@@
-179,6
+176,7
@@
int MC_request_is_visible(smx_simcall_t req)
|| req->call == SIMCALL_COMM_TESTANY
|| req->call == SIMCALL_MC_RANDOM
|| req->call == SIMCALL_MUTEX_LOCK
|| req->call == SIMCALL_COMM_TESTANY
|| req->call == SIMCALL_MC_RANDOM
|| req->call == SIMCALL_MUTEX_LOCK
+ || req->call == SIMCALL_MUTEX_TRYLOCK
#ifdef HAVE_MC
|| req->call == SIMCALL_MC_SNAPSHOT
|| req->call == SIMCALL_MC_COMPARE_SNAPSHOTS
#ifdef HAVE_MC
|| req->call == SIMCALL_MC_SNAPSHOT
|| req->call == SIMCALL_MC_COMPARE_SNAPSHOTS
@@
-229,7
+227,8
@@
void MC_simcall_handle(smx_simcall_t req, int value)
xbt_dynar_foreach_ptr(mc_model_checker->process().smx_process_infos, i, pi) {
if (req == &pi->copy.simcall) {
xbt_dynar_foreach_ptr(mc_model_checker->process().smx_process_infos, i, pi) {
if (req == &pi->copy.simcall) {
- MC_server_simcall_handle(&mc_model_checker->process(), pi->copy.pid, value);
+ mc_model_checker->simcall_handle(
+ mc_model_checker->process(), pi->copy.pid, value);
return;
}
}
return;
}
}