From e36b8220096b9dd7344701c4fa6be1ccfb1b647c Mon Sep 17 00:00:00 2001 From: navarrop Date: Wed, 5 Jan 2011 15:22:42 +0000 Subject: [PATCH] Destroy mutex and condition. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9362 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/xbt/parmap.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/xbt/parmap.c b/src/xbt/parmap.c index 6852623d1c..3d1c6c7567 100644 --- a/src/xbt/parmap.c +++ b/src/xbt/parmap.c @@ -31,10 +31,6 @@ xbt_parmap_t xbt_parmap_new(unsigned int num_workers) /* Initialize the thread pool data structure */ xbt_parmap_t parmap = xbt_new0(s_xbt_parmap_t, 1); - #ifndef HAVE_FUTEX_H - parmap->workers_ready->mutex = xbt_os_mutex_init(); - parmap->workers_ready->cond = xbt_os_cond_init(); - #endif parmap->num_workers = num_workers; parmap->status = PARMAP_WORK; @@ -42,7 +38,10 @@ xbt_parmap_t xbt_parmap_new(unsigned int num_workers) xbt_barrier_init(parmap->workers_ready, num_workers + 1); parmap->workers_done = xbt_new0(s_xbt_barrier_t, 1); xbt_barrier_init(parmap->workers_done, num_workers + 1); - +#ifndef HAVE_FUTEX_H + parmap->workers_ready->mutex = xbt_os_mutex_init(); + parmap->workers_ready->cond = xbt_os_cond_init(); +#endif /* Create the pool of worker threads */ for(i=0; i < num_workers; i++){ worker = xbt_os_thread_create(NULL, _xbt_parmap_worker_main, parmap, NULL); @@ -61,7 +60,10 @@ void xbt_parmap_destroy(xbt_parmap_t parmap) xbt_barrier_wait(parmap->workers_ready); DEBUG0("Kill job sent"); xbt_barrier_wait(parmap->workers_done); - +#ifndef HAVE_FUTEX_H + xbt_os_mutex_destroy(parmap->workers_ready->mutex); + xbt_os_cond_destroy(parmap->workers_ready->cond); +#endif xbt_free(parmap->workers_ready); xbt_free(parmap->workers_done); xbt_free(parmap); -- 2.20.1