Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
kill the now useless xbt_os_thread_{get,set}_extra_data()
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Sat, 5 Jan 2019 01:11:22 +0000 (02:11 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Sat, 5 Jan 2019 01:11:22 +0000 (02:11 +0100)
include/xbt/xbt_os_thread.h
src/include/xbt/parmap.hpp
src/kernel/context/ContextThread.cpp
src/xbt/xbt_os_thread.c
teshsuite/xbt/parallel_log_crashtest/parallel_log_crashtest.c

index d555995..3d0a299 100644 (file)
@@ -26,14 +26,11 @@ SG_BEGIN_DECL()
 
 /** @brief Thread data type (opaque structure) */
 typedef struct xbt_os_thread_ *xbt_os_thread_t;
-XBT_PUBLIC xbt_os_thread_t xbt_os_thread_create(const char* name, pvoid_f_pvoid_t start_routine, void* param,
-                                                void* data);
+XBT_PUBLIC xbt_os_thread_t xbt_os_thread_create(const char* name, pvoid_f_pvoid_t start_routine, void* param);
 XBT_PUBLIC void xbt_os_thread_exit(int* retcode);
 
 XBT_PUBLIC xbt_os_thread_t xbt_os_thread_self(void);
 XBT_PUBLIC const char* xbt_os_thread_self_name(void);
-XBT_PUBLIC void xbt_os_thread_set_extra_data(void* data);
-XBT_PUBLIC void* xbt_os_thread_get_extra_data(void);
 /* xbt_os_thread_join frees the joined thread (ie the XBT wrapper around it, the OS frees the rest) */
 XBT_PUBLIC void xbt_os_thread_join(xbt_os_thread_t thread, void** thread_return);
 XBT_PUBLIC void xbt_os_thread_setstacksize(int stack_size);
index f37540b..5f97049 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(nullptr, worker_main, data);
     xbt_os_thread_bind(this->workers[i], core_bind);
     if (core_bind != std::thread::hardware_concurrency() - 1)
       core_bind++;
index c93e361..3f93201 100644 (file)
@@ -71,7 +71,7 @@ ThreadContext::ThreadContext(std::function<void()> code, void_pfn_smxprocess_t c
     /* create and start the process */
     /* NOTE: The first argument to xbt_os_thread_create used to be the process *
     * name, but now the name is stored at SIMIX level, so we pass a null  */
-    this->thread_ = xbt_os_thread_create(nullptr, ThreadContext::wrapper, this, this);
+    this->thread_ = xbt_os_thread_create(nullptr, ThreadContext::wrapper, this);
     /* wait the starting of the newly created process */
     this->end_.acquire();
   }
index 4361e41..411aa16 100644 (file)
@@ -48,7 +48,6 @@ typedef struct xbt_os_thread_ {
   char *name;
   void *param;
   pvoid_f_pvoid_t start_routine;
-  void *extra_data;
 } s_xbt_os_thread_t;
 static xbt_os_thread_t main_thread = NULL;
 
@@ -82,7 +81,6 @@ void xbt_os_thread_mod_preinit(void)
   main_thread->name = xbt_strdup("main");
   main_thread->param = NULL;
   main_thread->start_routine = NULL;
-  main_thread->extra_data = NULL;
 
   if ((errcode = pthread_setspecific(xbt_self_thread_key, main_thread)))
     THROWF(system_error, errcode,
@@ -130,13 +128,12 @@ static void *wrapper_start_routine(void *s)
   return t->start_routine(t->param);
 }
 
-xbt_os_thread_t xbt_os_thread_create(const char *name,  pvoid_f_pvoid_t start_routine, void *param, void *extra_data)
+xbt_os_thread_t xbt_os_thread_create(const char* name, pvoid_f_pvoid_t start_routine, void* param)
 {
   xbt_os_thread_t res_thread = xbt_new(s_xbt_os_thread_t, 1);
   res_thread->name = xbt_strdup(name);
   res_thread->start_routine = start_routine;
   res_thread->param = param;
-  res_thread->extra_data = extra_data;
 
   int errcode = pthread_create(&(res_thread->t), &thread_attr, wrapper_start_routine, res_thread);
   xbt_assert(errcode == 0, "pthread_create failed: %s", strerror(errcode));
@@ -274,14 +271,3 @@ void xbt_os_mutex_destroy(xbt_os_mutex_t mutex)
   xbt_assert(errcode == 0, "pthread_mutex_destroy(%p) failed: %s", mutex, strerror(errcode));
   free(mutex);
 }
-
-void xbt_os_thread_set_extra_data(void *data)
-{
-  xbt_os_thread_self()->extra_data = data;
-}
-
-void *xbt_os_thread_get_extra_data(void)
-{
-  xbt_os_thread_t thread = xbt_os_thread_self();
-  return thread ? thread->extra_data : NULL;
-}
index a39cf7d..5d32c4e 100644 (file)
@@ -46,7 +46,7 @@ static int crasher()
   for (int i = 0; i < crasher_amount; i++) {
     char name[16];
     snprintf(name, sizeof name, "thread %d", i);
-    crashers[i] = xbt_os_thread_create(name, &crasher_thread, &id[i], NULL );
+    crashers[i] = xbt_os_thread_create(name, &crasher_thread, &id[i]);
   }
 
   /* wait for them */