Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 15 Mar 2016 09:15:25 +0000 (10:15 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Tue, 15 Mar 2016 09:15:25 +0000 (10:15 +0100)
appveyor.yml
include/simgrid/forward.h
src/surf/trace_mgr.cpp
src/surf/trace_mgr.hpp

index dc6d2a7..ca36670 100644 (file)
@@ -27,7 +27,7 @@ install:
 #- choco install lua53
 # Basic dependencies: gcc and Cmake (must be placed before Perl in the path)
 - SET PATH=C:\tools\mingw64\bin;%PATH%
-- choco install mingw cmake
+- choco install mingw cmake --limit-output
 - rename "C:\Program Files\Git\usr\bin\sh.exe" "sh-ignored.exe"
 
 build_script:
index ddf58ff..b1eab3a 100644 (file)
@@ -21,6 +21,7 @@ namespace simgrid {
     class Link;
   }
   namespace trace_mgr {
+    class trace;
     class future_evt_set;
   }
 }
@@ -31,6 +32,7 @@ typedef simgrid::surf::Cpu surf_Cpu;
 typedef simgrid::surf::NetCard surf_NetCard;
 typedef simgrid::surf::Link Link;
 typedef simgrid::surf::Resource surf_Resource;
+typedef simgrid::trace_mgr::trace tmgr_Trace;
 
 #else
 
@@ -40,6 +42,7 @@ typedef struct surf_Cpu surf_Cpu;
 typedef struct surf_NetCard surf_NetCard;
 typedef struct surf_Resource surf_Resource;
 typedef struct Link Link;
+typedef struct Trace tmgr_Trace;
 #endif
 
 typedef simgrid_Host* sg_host_t;
@@ -52,7 +55,7 @@ typedef surf_Resource *sg_resource_t;
 // Types which are in fact dictelmt:
 typedef struct s_xbt_dictelm *sg_storage_t;
 
-typedef struct tmgr_trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
+typedef tmgr_Trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
 
 typedef enum {
   SURF_LINK_FULLDUPLEX = 2,
index 32558c2..0b9cd01 100644 (file)
@@ -17,6 +17,14 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_trace, surf, "Surf trace management");
 
 static xbt_dict_t trace_list = NULL;
 
+simgrid::trace_mgr::trace::trace()
+{
+}
+
+simgrid::trace_mgr::trace::~trace()
+{
+  xbt_dynar_free(&event_list);
+}
 simgrid::trace_mgr::future_evt_set::future_evt_set()
 {
 }
@@ -47,7 +55,7 @@ tmgr_trace_t tmgr_trace_new_from_string(const char *id, const char *input, doubl
   xbt_assert(periodicity >= 0,
               "Invalid periodicity %g (must be positive)", periodicity);
 
-  trace = xbt_new0(s_tmgr_trace_t, 1);
+  trace = new simgrid::trace_mgr::trace();
   trace->event_list = xbt_dynar_new(sizeof(s_tmgr_event_t), NULL);
 
   list = xbt_str_split(input, "\n\r");
@@ -126,7 +134,7 @@ tmgr_trace_t tmgr_empty_trace_new(void)
   tmgr_trace_t trace = NULL;
   s_tmgr_event_t event;
 
-  trace = xbt_new0(s_tmgr_trace_t, 1);
+  trace = new simgrid::trace_mgr::trace();
   trace->event_list = xbt_dynar_new(sizeof(s_tmgr_event_t), NULL);
 
   event.delta = 0.0;
@@ -138,11 +146,7 @@ tmgr_trace_t tmgr_empty_trace_new(void)
 
 void tmgr_trace_free(tmgr_trace_t trace)
 {
-  if (!trace)
-    return;
-
-  xbt_dynar_free(&(trace->event_list));
-  free(trace);
+  delete trace;
 }
 
 /** @brief Registers a new trace into the future event set, and get an iterator over the integrated trace  */
index 8fb7dd8..7784e7f 100644 (file)
@@ -19,7 +19,7 @@ typedef struct tmgr_event {
 } s_tmgr_event_t, *tmgr_event_t;
 
 typedef struct tmgr_trace {
-  xbt_dynar_t event_list;
+
 } s_tmgr_trace_t;
 
 /* Iterator within a trace */
@@ -74,8 +74,10 @@ XBT_PUBLIC_CLASS trace_iterator {
 XBT_PUBLIC_CLASS trace {
 public:
   /**  Creates an empty trace */
-  trace() {}
-  virtual ~trace() {}
+  trace();
+  virtual ~trace();
+//private:
+  xbt_dynar_t event_list;
 };
 
 /** @brief Future Event Set (collection of iterators over the traces)