Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Avoid double free: xbt_thread_join already frees the XBT wrapper
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 7 May 2007 13:22:37 +0000 (13:22 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 7 May 2007 13:22:37 +0000 (13:22 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3488 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/xbt/context.c

index 8593ea9..40f8dc7 100644 (file)
@@ -113,10 +113,9 @@ static void xbt_context_free(xbt_context_t context)
 #ifdef CONTEXT_THREADS
        /*DEBUG1("\t joining %p",(void *)context->thread->t);*/
        DEBUG1("\t joining %p",(void *)context->thread);
-       /*pthread_join(context->thread->t,NULL);*/
+
        xbt_thread_join(context->thread,NULL);
-       DEBUG1("\t xbt_free %p",(void *)context->thread);
-       xbt_free(context->thread);
+
        DEBUG1("\t mutex_destroy %p",(void *)context->mutex);
        xbt_mutex_destroy(context->mutex);
        DEBUG1("\t cond_destroy %p",(void *)context->cond);