Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Sanitize the includes of context objects declarations (was dupplicated and a bit...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 23 Mar 2010 14:43:36 +0000 (14:43 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 23 Mar 2010 14:43:36 +0000 (14:43 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7322 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/bindings/ruby_bindings.h
src/simix/private.h
src/simix/smx_context_base.c
src/simix/smx_context_java.c
src/simix/smx_context_java.h
src/simix/smx_context_lua.c
src/simix/smx_context_private.h
src/simix/smx_context_ruby.c
src/simix/smx_context_sysv.c

index 77e6637..48821a9 100644 (file)
@@ -26,6 +26,8 @@
 #include "xbt/log.h"
 #include "xbt/asserts.h"
 
+#include "simix/smx_context_private.h"
+
 /* Damn Ruby. They load their full config.h, which breaks since we also load ours.
  * So, we undef the offending defines
  */
index 8fb2bc4..f8012e5 100644 (file)
@@ -203,75 +203,16 @@ void __SIMIX_action_display_conditions(smx_action_t action);
 
 /******************************** Context *************************************/
 
-void SIMIX_context_mod_init(void);
-
-void SIMIX_context_mod_exit(void);
-
-/* *********************** */
-/* Context type definition */
-/* *********************** */
-/* the following function pointers types describe the interface that all context
-   concepts must implement */
-
-/* each context type derive from this structure, so they must contain this structure
- * at their begining -- OOP in C :/ */
-typedef struct s_smx_context {
-  s_xbt_swag_hookup_t hookup;
-  xbt_main_func_t code;
-  int argc;
-  char **argv;
-  void_f_pvoid_t cleanup_func;
-  void *cleanup_arg;
-} s_smx_ctx_base_t;
-/* methods of this class */
-void smx_ctx_base_factory_init(smx_context_factory_t * factory);
-int smx_ctx_base_factory_finalize(smx_context_factory_t * factory);
-
-smx_context_t
-smx_ctx_base_factory_create_context_sized(size_t size,
-    xbt_main_func_t code, int argc, char** argv,
-    void_f_pvoid_t cleanup_func, void* cleanup_arg);
-void smx_ctx_base_free(smx_context_t context);
-void smx_ctx_base_stop(smx_context_t context);
-
-
-/* *********************** */
-/* factory type definition */
-/* *********************** */
-
-/* Each context implementation define its own context factory
- * A context factory is responsable of the creation and manipulation of the 
- * execution context of all the simulated processes (and maestro) using the
- * selected implementation.
- *
- * For example, the context switch based on java thread use the
- * java implementation of the context and the java factory to build and control
- * the contexts depending on this implementation.
-
- * The following function pointer types describe the interface that any context 
- * factory should implement.
- */
+/* The following function pointer types describe the interface that any context
+   factory should implement */
 
-/* function used to create a new context */
-typedef smx_context_t (*smx_pfn_context_factory_create_context_t) 
+typedef smx_context_t (*smx_pfn_context_factory_create_context_t)
                       (xbt_main_func_t, int, char**, void_f_pvoid_t, void*);
-
-/* this function finalize the specified context factory */
 typedef int (*smx_pfn_context_factory_finalize_t) (smx_context_factory_t*);
-
-/* function used to destroy the specified context */
 typedef void (*smx_pfn_context_free_t) (smx_context_t);
-
-/* function used to start the specified context */
 typedef void (*smx_pfn_context_start_t) (smx_context_t);
-
-/* function used to stop the current context */
 typedef void (*smx_pfn_context_stop_t) (smx_context_t);
-
-/* function used to suspend the current context */
 typedef void (*smx_pfn_context_suspend_t) (smx_context_t context);
-
-/* function used to resume the current context */
 typedef void (*smx_pfn_context_resume_t) (smx_context_t new_context);
 
 /* interface of the context factories */
@@ -285,6 +226,11 @@ typedef struct s_smx_context_factory {
   const char *name;
 } s_smx_context_factory_t;
 
+
+void SIMIX_context_mod_init(void);
+
+void SIMIX_context_mod_exit(void);
+
 /* Selects a context factory associated with the name specified by the parameter name.
  * If successful the function returns 0. Otherwise the function returns the error code.
  */
index 1cce400..a36e83b 100644 (file)
@@ -7,7 +7,7 @@
 
 
 #include "xbt/function_types.h"
-#include "private.h"
+#include "smx_context_private.h"
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(bindings);
 
index ef79b31..16dc2d9 100644 (file)
@@ -7,7 +7,6 @@
 
 
 #include "xbt/function_types.h"
-#include "private.h"
 #include "smx_context_java.h"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(jmsg, bindings, "MSG for Java(TM)");
index 5e8e8ab..b43ab35 100644 (file)
@@ -4,7 +4,7 @@
 #include "portable.h"
 #include "xbt/misc.h"
 
-#include "private.h"
+#include "smx_context_private.h"
 #include "java/jmsg.h"
 #include "java/jmsg_process.h"
 
index e194ffb..377cf13 100644 (file)
@@ -7,10 +7,7 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "private.h"
-//#include "context_sysv_config.h"        /* loads context system definitions */
-//#include "portable.h"
-//#include <ucontext.h>           /* context relative declarations */
+#include "smx_context_private.h"
 #include <lua5.1/lauxlib.h>
 #include <lua5.1/lualib.h>
 
index bc4b45e..083c243 100644 (file)
@@ -9,9 +9,8 @@
 #ifndef _XBT_CONTEXT_PRIVATE_H
 #define _XBT_CONTEXT_PRIVATE_H
 
-/*#include "xbt/sysdep.h"*/
-#include "simix/private.h"
 #include "xbt/swag.h"
+#include "simix/private.h"
 
 SG_BEGIN_DECL()
 
@@ -20,62 +19,36 @@ SG_BEGIN_DECL()
 /* *********************** */
 /* the following function pointers types describe the interface that all context
    concepts must implement */
+/* the following function pointers types describe the interface that all context
+   concepts must implement */
 
-/* each context type must contain this macro at its begining -- OOP in C :/ */
-#define SMX_CTX_BASE_T \
-  s_xbt_swag_hookup_t hookup; \
-  ex_ctx_t *exception; \
-  xbt_main_func_t code; \
-
-/* all other context types derive from this structure */
+/* each context type derive from this structure, so they must contain this structure
+ * at their begining -- OOP in C :/ */
 typedef struct s_smx_context {
-  SMX_CTX_BASE_T;
-} s_smx_context_t;
+  s_xbt_swag_hookup_t hookup;
+  xbt_main_func_t code;
+  int argc;
+  char **argv;
+  void_f_pvoid_t cleanup_func;
+  void *cleanup_arg;
+} s_smx_ctx_base_t;
+/* methods of this class */
+void smx_ctx_base_factory_init(smx_context_factory_t * factory);
+int smx_ctx_base_factory_finalize(smx_context_factory_t * factory);
+
+smx_context_t
+smx_ctx_base_factory_create_context_sized(size_t size,
+    xbt_main_func_t code, int argc, char** argv,
+    void_f_pvoid_t cleanup_func, void* cleanup_arg);
+void smx_ctx_base_free(smx_context_t context);
+void smx_ctx_base_stop(smx_context_t context);
+
 
 /* *********************** */
 /* factory type definition */
 /* *********************** */
 
-/* The following function pointer types describe the interface that any context 
-   factory should implement */
-
-/* function used to create a new context */
-typedef int (*smx_pfn_context_factory_create_context_t) (smx_process_t *, xbt_main_func_t);
-
-/* function used to create the context for the maestro process */
-typedef int (*smx_pfn_context_factory_create_maestro_context_t) (smx_process_t*);
-
-/* this function finalize the specified context factory */
-typedef int (*smx_pfn_context_factory_finalize_t) (smx_context_factory_t*);
 
-/* function used to destroy the specified context */
-typedef void (*smx_pfn_context_free_t) (smx_process_t);
-
-/* function used to kill the specified context */
-typedef void (*smx_pfn_context_kill_t) (smx_process_t);
-
-/* function used to resume the specified context */
-typedef void (*smx_pfn_context_schedule_t) (smx_process_t);
-
-/* function used to yield the specified context */
-typedef void (*smx_pfn_context_yield_t) (void);
-
-/* function used to start the specified context */
-typedef void (*smx_pfn_context_start_t) (smx_process_t);
-
-/* function used to stop the current context */
-typedef void (*smx_pfn_context_stop_t) (int);
-
-/* interface of the context factories */
-typedef struct s_smx_context_factory {
-  smx_pfn_context_factory_create_context_t create_context;
-  smx_pfn_context_factory_finalize_t finalize;
-  smx_pfn_context_free_t free;
-  smx_pfn_context_schedule_t schedule;
-  smx_pfn_context_yield_t yield;
-  smx_pfn_context_stop_t stop;
-  const char *name;
-} s_smx_context_factory_t;
 
 /* Selects a context factory associated with the name specified by the parameter name.
  * If successful the function returns 0. Otherwise the function returns the error code.
@@ -96,3 +69,5 @@ void SIMIX_ctx_java_factory_init(smx_context_factory_t * factory);
 
 SG_END_DECL()
 #endif /* !_XBT_CONTEXT_PRIVATE_H */
+
+
index 2da3977..f19fbcc 100644 (file)
@@ -5,12 +5,12 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "private.h"
 #include "xbt/function_types.h"
 #include "xbt/sysdep.h"
 #include "xbt/log.h"
 #include "xbt/asserts.h"
 
+#include "smx_context_private.h"
 #include "bindings/ruby_bindings.h"
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(ruby);
index afa5403..202d4fa 100644 (file)
@@ -7,7 +7,7 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "private.h"
+#include "smx_context_private.h"
 #include "context_sysv_config.h"        /* loads context system definitions */
 #include "portable.h"
 #include <ucontext.h>           /* context relative declarations */