X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d17f206ea75d3cccc5f1b83b67f58d4fe87781d1..15af6f9bf88ff4bfdd0b8e87039e666ee092fbfe:/src/simix/smx_host.cpp?ds=sidebyside diff --git a/src/simix/smx_host.cpp b/src/simix/smx_host.cpp index cf092ea486..3b17a20b70 100644 --- a/src/simix/smx_host.cpp +++ b/src/simix/smx_host.cpp @@ -16,10 +16,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_host, simix, "SIMIX hosts"); -/** - * \brief Internal function to create a SIMIX host. - * \param name name of the host to create - */ +/** @brief Internal function to create a SIMIX host. */ void SIMIX_host_create(sg_host_t host) // FIXME: braindead prototype. Take sg_host as parameter { smx_host_priv_t smx_host = xbt_new0(s_smx_host_priv_t, 1); @@ -32,10 +29,7 @@ void SIMIX_host_create(sg_host_t host) // FIXME: braindead prototype. Take sg_ho sg_host_simix_set(host, smx_host); } -/** - * \brief Start the host if it is off - * - */ +/** @brief Start the host if it is off */ void SIMIX_host_on(sg_host_t h) { smx_host_priv_t host = sg_host_simix(h); @@ -73,10 +67,7 @@ void SIMIX_host_on(sg_host_t h) } } -/** - * \brief Stop the host if it is on - * - */ +/** @brief Stop the host if it is on */ void SIMIX_host_off(sg_host_t h, smx_process_t issuer) { smx_host_priv_t host = sg_host_simix(h); @@ -142,8 +133,7 @@ sg_host_t SIMIX_host_self(void) return (process == NULL) ? NULL : SIMIX_process_get_host(process); } -/* needs to be public and without simcall because it is called - by exceptions and logging events */ +/* needs to be public and without simcall for exceptions and logging events */ const char* SIMIX_host_self_get_name(void) { sg_host_t host = SIMIX_host_self(); @@ -188,9 +178,7 @@ void SIMIX_host_add_auto_restart_process( } xbt_dynar_push_as(sg_host_simix(host)->auto_restart_processes,smx_process_arg_t,arg); } -/** - * \brief Restart the list of processes that have been registered to the host - */ +/** @brief Restart the list of processes that have been registered to the host */ void SIMIX_host_autorestart(sg_host_t host) { unsigned int cpt; @@ -232,10 +220,7 @@ smx_synchro_t SIMIX_execution_start(smx_process_t issuer, const char *name, double flops_amount, double priority, double bound, unsigned long affinity_mask){ /* alloc structures and initialize */ - simgrid::simix::Exec *exec = new simgrid::simix::Exec(); - exec->name = xbt_strdup(name); - exec->state = SIMIX_RUNNING; - exec->host = issuer->host; + simgrid::simix::Exec *exec = new simgrid::simix::Exec(name, issuer->host); /* set surf's action */ if (!MC_is_active() && !MC_record_replay_is_active()) { @@ -255,7 +240,7 @@ smx_synchro_t SIMIX_execution_start(smx_process_t issuer, const char *name, } } - XBT_DEBUG("Create execute synchro %p: %s", exec, exec->name); + XBT_DEBUG("Create execute synchro %p: %s", exec, exec->name.c_str()); return exec; } @@ -269,10 +254,7 @@ smx_synchro_t SIMIX_execution_parallel_start(const char *name, int i; /* alloc structures and initialize */ - simgrid::simix::Exec *exec = new simgrid::simix::Exec(); - exec->name = xbt_strdup(name); - exec->state = SIMIX_RUNNING; - exec->host = nullptr; /* FIXME: do we need the list of hosts? */ + simgrid::simix::Exec *exec = new simgrid::simix::Exec(name, nullptr); /* set surf's synchro */ host_list_cpy = xbt_new0(sg_host_t, host_nb); @@ -336,7 +318,7 @@ void simcall_HANDLER_execution_wait(smx_simcall_t simcall, smx_synchro_t synchro XBT_DEBUG("Wait for execution of synchro %p, state %d", synchro, (int)synchro->state); /* Associate this simcall to the synchro */ - xbt_fifo_push(synchro->simcalls, simcall); + synchro->simcalls.push_back(simcall); simcall->issuer->waiting_synchro = synchro; /* set surf's synchro */ @@ -353,11 +335,7 @@ void simcall_HANDLER_execution_wait(smx_simcall_t simcall, smx_synchro_t synchro void SIMIX_execution_finish(simgrid::simix::Exec *exec) { - xbt_fifo_item_t item; - smx_simcall_t simcall; - - xbt_fifo_foreach(exec->simcalls, item, simcall, smx_simcall_t) { - + for (smx_simcall_t simcall : exec->simcalls) { switch (exec->state) { case SIMIX_DONE: