Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[simix] Manage s_smx_mailbox with new/delte
authorGabriel Corona <gabriel.corona@loria.fr>
Mon, 4 Jul 2016 13:25:44 +0000 (15:25 +0200)
committerGabriel Corona <gabriel.corona@loria.fr>
Mon, 4 Jul 2016 13:25:44 +0000 (15:25 +0200)
Because it has a boost::intrusive_ptr now.

src/simix/smx_network.cpp
src/simix/smx_network_private.h

index bf5aa8b..9274071 100644 (file)
@@ -43,7 +43,7 @@ smx_mailbox_t SIMIX_mbox_create(const char *name)
   smx_mailbox_t mbox = (smx_mailbox_t) xbt_dict_get_or_null(mailboxes, name);
 
   if (!mbox) {
-    mbox = xbt_new0(s_smx_mailbox_t, 1);
+    mbox = new s_smx_mailbox_t();
     mbox->name = xbt_strdup(name);
     mbox->comm_queue = new std::deque<smx_synchro_t>();
     mbox->done_comm_queue = nullptr; // Allocated on need only
@@ -62,8 +62,7 @@ void SIMIX_mbox_free(void *data)
   xbt_free(mbox->name);
   delete mbox->comm_queue;
   delete mbox->done_comm_queue;
-
-  xbt_free(mbox);
+  delete mbox;
 }
 
 smx_mailbox_t SIMIX_mbox_get_by_name(const char *name)
index 9315156..420e31e 100644 (file)
 
 /** @brief Rendez-vous point datatype */
 typedef struct s_smx_mailbox {
-  char *name;
-  std::deque<smx_synchro_t> *comm_queue;
+  char *name = nullptr;
+  std::deque<smx_synchro_t> *comm_queue = nullptr;
   boost::intrusive_ptr<simgrid::simix::Process> permanent_receiver; //process which the mailbox is attached to
-  std::deque<smx_synchro_t> *done_comm_queue;//messages already received in the permanent receive mode
+  std::deque<smx_synchro_t> *done_comm_queue = nullptr;//messages already received in the permanent receive mode
 } s_smx_mailbox_t;
 
 XBT_PRIVATE void SIMIX_mailbox_exit(void);