Because it has a boost::intrusive_ptr now.
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
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)
/** @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);