Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
even more C++ style
authorMartin Quinson <martin.quinson@loria.fr>
Thu, 16 Feb 2017 00:54:19 +0000 (01:54 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Thu, 16 Feb 2017 00:54:19 +0000 (01:54 +0100)
src/msg/msg_private.h
src/msg/msg_process.cpp

index 3a67a81..6f225e2 100644 (file)
@@ -75,6 +75,7 @@ typedef struct simdata_file {
 
 class MsgActorExt {
 public:
+  explicit MsgActorExt(void* d) : data(d) {}
   msg_error_t errno_ = MSG_OK;  /* the last value returned by a MSG_function */
   void* data = nullptr; /* user data */
 };
index 253e084..5bb743b 100644 (file)
@@ -141,10 +141,7 @@ msg_process_t MSG_process_create_with_environment(
   msg_host_t host, xbt_dict_t properties)
 {
   xbt_assert(code != nullptr && host != nullptr, "Invalid parameters: host and code params must not be nullptr");
-  MsgActorExt* msgExt = new MsgActorExt();
-
-  /* Simulator data for MSG */
-  msgExt->data = data;
+  MsgActorExt* msgExt = new MsgActorExt(data);
 
   /* Let's create the process: SIMIX may decide to start it right now,
    * even before returning the flow control to us */
@@ -170,13 +167,9 @@ msg_process_t MSG_process_create_with_environment(
 msg_process_t MSG_process_attach(const char *name, void *data, msg_host_t host, xbt_dict_t properties)
 {
   xbt_assert(host != nullptr, "Invalid parameters: host and code params must not be nullptr");
-  MsgActorExt* msgExt = new MsgActorExt();
-
-  /* Simulator data for MSG */
-  msgExt->data   = data;
 
   /* Let's create the process: SIMIX may decide to start it right now, even before returning the flow control to us */
-  msg_process_t process = SIMIX_process_attach(name, msgExt, host->cname(), properties, nullptr);
+  msg_process_t process = SIMIX_process_attach(name, new MsgActorExt(data), host->cname(), properties, nullptr);
   if (!process)
     xbt_die("Could not attach");
   simcall_process_on_exit(process,(int_f_pvoid_pvoid_t)TRACE_msg_process_kill,process);