Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Resolve memory leaks
[simgrid.git] / src / surf / surf.hpp
index 683703b..c88ca70 100644 (file)
@@ -167,7 +167,10 @@ class Resource {
 public:
   Resource();
   Resource(ModelPtr model, const char *name, xbt_dict_t properties);
-  virtual ~Resource() {};
+  virtual ~Resource() {
+       xbt_free((void*)m_name);
+       xbt_dict_free(&m_properties);
+  };
 
   virtual void updateState(tmgr_trace_event_t event_type, double value, double date)=0;
 
@@ -202,7 +205,7 @@ private:
 
 class ResourceLmm: virtual public Resource {
 public:
-  ResourceLmm() {};
+  ResourceLmm() { p_power.event = NULL; };
   ResourceLmm(surf_model_t model, const char *name, xbt_dict_t props,
                            lmm_system_t system,
                            double constraint_value,
@@ -297,10 +300,14 @@ public:
   ActionLmm() : m_suspended(false) {
        p_actionListHookup.prev = 0;
        p_actionListHookup.next = 0;
+        m_lastUpdate = 0;
+        m_lastValue = 0;
   };
   ActionLmm(ModelPtr /*model*/, double /*cost*/, bool /*failed*/) : m_suspended(false) {
        p_actionListHookup.prev = 0;
        p_actionListHookup.next = 0;
+        m_lastUpdate = 0;
+        m_lastValue = 0;
   };
 
   virtual void updateRemainingLazy(double now);