Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Factorize stack creation.
[simgrid.git] / src / simix / smx_context.c
index 707cf77..12552da 100644 (file)
@@ -1,6 +1,6 @@
 /* a fast and simple context switching library                              */
 
-/* Copyright (c) 2009-2013. The SimGrid Team.
+/* Copyright (c) 2009-2014. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -19,7 +19,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_context, simix,
 
 char* smx_context_factory_name = NULL; /* factory name specified by --cfg=contexts/factory:value */
 smx_ctx_factory_initializer_t smx_factory_initializer_to_use = NULL;
-int smx_context_stack_size = 128 * 1024;
+int smx_context_stack_size;
 int smx_context_stack_size_was_set = 0;
 #ifdef HAVE_THREAD_LOCAL_STORAGE
 static __thread smx_context_t smx_current_context_parallel;
@@ -99,6 +99,16 @@ void SIMIX_context_mod_exit(void)
   xbt_dict_remove((xbt_dict_t) _sg_cfg_set,"contexts/factory");
 }
 
+void *SIMIX_context_stack_new(void)
+{
+  return xbt_malloc0(smx_context_stack_size);
+}
+
+void SIMIX_context_stack_delete(void *stack)
+{
+  xbt_free(stack);
+}
+
 /**
  * \brief Returns whether some parallel threads are used
  * for the user contexts.