]> AND Public Git Repository - simgrid.git/blobdiff - src/include/xbt/parmap.hpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
context: rewrite some comments, and useless cosmetics
[simgrid.git] / src / include / xbt / parmap.hpp
index f37540bbcb0274ce8c8f2557d7ba20e4e440dad2..97c03bb349da4c5322095eba9ffd6d865ef30253 100644 (file)
@@ -168,7 +168,7 @@ template <typename T> Parmap<T>::Parmap(unsigned num_workers, e_xbt_parmap_mode_
   unsigned int core_bind = 0;
   for (unsigned i = 1; i < num_workers; i++) {
     ThreadData* data = new ThreadData(*this, i);
-    this->workers[i] = xbt_os_thread_create(nullptr, worker_main, data, nullptr);
+    this->workers[i] = xbt_os_thread_create(worker_main, data);
     xbt_os_thread_bind(this->workers[i], core_bind);
     if (core_bind != std::thread::hardware_concurrency() - 1)
       core_bind++;
@@ -272,22 +272,20 @@ template <typename T> typename Parmap<T>::Synchro* Parmap<T>::new_synchro(e_xbt_
   return res;
 }
 
-/**
- * @brief Main function of a worker thread.
- */
+/** @brief Main function of a worker thread */
 template <typename T> void* Parmap<T>::worker_main(void* arg)
 {
   ThreadData* data      = static_cast<ThreadData*>(arg);
   Parmap<T>& parmap     = data->parmap;
   unsigned round        = 0;
   smx_context_t context = SIMIX_context_new(std::function<void()>(), nullptr, nullptr);
-  SIMIX_context_set_current(context);
+  kernel::context::Context::set_current(context);
 
   XBT_CDEBUG(xbt_parmap, "New worker thread created");
 
   /* Worker's main loop */
   while (1) {
-    round++;
+    round++; // New scheduling round
     parmap.synchro->worker_wait(round);
     if (parmap.status == PARMAP_DESTROY)
       break;