X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f3e4803befab19389587dd1d9af5ecdeffec551e..3203ed1f4fb6f4617e94d5351661ba07e8b8f833:/src/surf/surf_interface.cpp diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index 0ed0576e44..54788a7348 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2014. The SimGrid Team. +/* Copyright (c) 2004-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -9,7 +9,7 @@ #include "network_interface.hpp" #include "cpu_interface.hpp" #include "host_interface.hpp" -#include "simix/smx_host_private.h" +#include "src/simix/smx_host_private.h" #include "surf_routing.hpp" #include "simgrid/sg_config.h" #include "mc/mc.h" @@ -121,11 +121,6 @@ s_surf_model_description_t surf_network_model_description[] = { {"CM02", "Legacy network analytic model (Very similar to LV08, but without corrective factors. The timings of small messages are thus poorly modeled).", surf_network_model_init_CM02}, -#ifdef HAVE_GTNETS - {"GTNets", - "Network pseudo-model using the GTNets simulator instead of an analytic model", - surf_network_model_init_GTNETS}, -#endif #ifdef HAVE_NS3 {"NS3", "Network pseudo-model using the NS3 tcp model instead of an analytic model", @@ -339,6 +334,23 @@ static XBT_INLINE void surf_storage_free(void *r) delete static_cast(r); } +void sg_version_check(int lib_version_major,int lib_version_minor,int lib_version_patch) { + if ((lib_version_major != SIMGRID_VERSION_MAJOR) || (lib_version_minor != SIMGRID_VERSION_MINOR)) { + fprintf(stderr, + "FATAL ERROR: Your program was compiled with SimGrid version %d.%d.%d, " + "and then linked against SimGrid %d.%d.%d. Please fix this.\n", + SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH, + lib_version_major,lib_version_minor,lib_version_patch); + abort(); + } + if (lib_version_patch != SIMGRID_VERSION_PATCH) { + fprintf(stderr, + "Warning: Your program was compiled with SimGrid version %d.%d.%d, " + "and then linked against SimGrid %d.%d.%d. Proceeding anyway.\n", + SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH, + lib_version_major,lib_version_minor,lib_version_patch); + } +} void sg_version(int *ver_major,int *ver_minor,int *ver_patch) { *ver_major = SIMGRID_VERSION_MAJOR; @@ -719,7 +731,6 @@ void Action::initialize(Model *model, double cost, bool failed, m_remains = cost; m_maxDuration = NO_MAX_DURATION; m_finish = -1.0; - m_failed = failed; m_start = surf_get_clock(); m_cost = cost; p_model = model; @@ -729,11 +740,6 @@ void Action::initialize(Model *model, double cost, bool failed, m_lastUpdate = 0; m_suspended = false; m_hat = NOTSET; -} - -Action::Action(Model *model, double cost, bool failed) -{ - initialize(model, cost, failed); p_category = NULL; p_stateHookup.prev = 0; p_stateHookup.next = 0; @@ -745,18 +751,14 @@ Action::Action(Model *model, double cost, bool failed) p_stateSet->push_back(*this); } +Action::Action(Model *model, double cost, bool failed) +{ + initialize(model, cost, failed); +} + Action::Action(Model *model, double cost, bool failed, lmm_variable_t var) { initialize(model, cost, failed, var); - p_category = NULL; - p_stateHookup.prev = 0; - p_stateHookup.next = 0; - if (failed) - p_stateSet = getModel()->getFailedActionSet(); - else - p_stateSet = getModel()->getRunningActionSet(); - - p_stateSet->push_back(*this); } Action::~Action() { @@ -869,7 +871,7 @@ void Action::setPriority(double priority) void Action::cancel(){ setState(SURF_ACTION_FAILED); if (getModel()->getUpdateMechanism() == UM_LAZY) { - if (actionLmmHook::is_linked()) + if (action_lmm_hook.is_linked()) getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this)); heapRemove(getModel()->getActionHeap()); } @@ -878,14 +880,14 @@ void Action::cancel(){ int Action::unref(){ m_refcount--; if (!m_refcount) { - if (actionHook::is_linked()) + if (action_hook.is_linked()) p_stateSet->erase(p_stateSet->iterator_to(*this)); if (getVariable()) lmm_variable_free(getModel()->getMaxminSystem(), getVariable()); if (getModel()->getUpdateMechanism() == UM_LAZY) { /* remove from heap */ heapRemove(getModel()->getActionHeap()); - if (actionLmmHook::is_linked()) + if (action_lmm_hook.is_linked()) getModel()->getModifiedSet()->erase(getModel()->getModifiedSet()->iterator_to(*this)); } delete this;