static xbt_context_t init_context = NULL;
static xbt_swag_t context_to_destroy = NULL;
static xbt_swag_t context_living = NULL;
+#ifdef CONTEXT_THREADS
static xbt_mutex_t creation_mutex;
static xbt_thcond_t creation_cond;
+#endif
static void __context_exit(xbt_context_t context ,int value);
static void __xbt_context_yield(xbt_context_t context)
context_to_destroy = xbt_swag_new(xbt_swag_offset(*current_context,hookup));
context_living = xbt_swag_new(xbt_swag_offset(*current_context,hookup));
xbt_swag_insert(init_context, context_living);
+#ifdef CONTEXT_THREADS
creation_mutex = xbt_mutex_init();
creation_cond = xbt_thcond_init();
+#endif
}
}
xbt_context_kill(context);
}
}
- // xbt_context_kill(init_context);
+ free(init_context->exception);
+ free(init_context);
+ init_context = current_context = NULL ;
xbt_context_empty_trash();
xbt_swag_free(context_to_destroy);
xbt_swag_free(context_living);
- init_context = current_context = NULL ;
+#ifdef CONTEXT_THREADS
xbt_mutex_destroy(creation_mutex);
- xbt_thcond_destroy(creation_cond);
+ xbt_thcond_destroy(creation_cond);
+#endif
}
/**