Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Kill the useless xbt_free (was define'd to free)
[simgrid.git] / src / xbt / context.c
index 6e367a0..89b3315 100644 (file)
@@ -3,7 +3,7 @@
 /* a fast and simple context switching library                              */
 
 /* Copyright (c) 2004 Arnaud Legrand.                                       */
-/* Copyright (c) 2004 Martin Quinson.                                       */
+/* Copyright (c) 2004, 2005 Martin Quinson.                                 */
 /* All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
 #include "xbt/dynar.h"
 #include "gras_config.h"
 
- /** \defgroup XBT_context User-level context library
-  *  \brief This section describes how to use high-level functions 
-  *  (as opposed to <tt>setjump/longjmp</tt>) to schedule non-preemptible 
-  *  threads.
-  */
-
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(context, xbt, "Context");
 
 /* #define WARNING(format, ...) (fprintf(stderr, "[%s , %s : %d] ", __FILE__, __FUNCTION__, __LINE__),\ */
@@ -45,9 +39,11 @@ static void __xbt_context_yield(xbt_context_t context)
 
   xbt_assert0(current_context,"You have to call context_init() first.");
   
-/*   WARNING("--------- current_context (%p) is yielding to context(%p) ---------",current_context,context); */
-/*   VOIRP(current_context); */
-/*   if(current_context) VOIRP(current_context->save); */
+  DEBUG2("--------- current_context (%p) is yielding to context(%p) ---------",
+        current_context,context);
+
+  if(current_context)
+    DEBUG1("current_context->save = %p",current_context->save);
 /*   VOIRP(context); */
 /*   if(context) VOIRP(context->save); */
 
@@ -81,7 +77,7 @@ static void __xbt_context_yield(xbt_context_t context)
 
 static void xbt_context_destroy(xbt_context_t context)
 {
-  xbt_free(context);
+  free(context);
 
   return;
 }
@@ -132,8 +128,8 @@ static void *__context_wrapper(void *c)
   (context->code) (context->argc,context->argv);
 
   for(i=0;i<context->argc; i++) 
-    if(context->argv[i]) xbt_free(context->argv[i]);
-  if(context->argv) xbt_free(context->argv);
+    if(context->argv[i]) free(context->argv[i]);
+  if(context->argv) free(context->argv);
 
   if(context->cleanup_func)
     context->cleanup_func(context->cleanup_arg);
@@ -260,8 +256,8 @@ void xbt_context_free(xbt_context_t context)
 
   xbt_swag_remove(context, context_living);  
   for(i=0;i<context->argc; i++) 
-    if(context->argv[i]) xbt_free(context->argv[i]);
-  if(context->argv) xbt_free(context->argv);
+    if(context->argv[i]) free(context->argv[i]);
+  if(context->argv) free(context->argv);
   
   if(context->cleanup_func)
     context->cleanup_func(context->cleanup_arg);