A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use msg_process_t instead of m_process_t
[simgrid.git]
/
src
/
simix
/
smx_private.h
diff --git
a/src/simix/smx_private.h
b/src/simix/smx_private.h
index
824239f
..
5bd6499
100644
(file)
--- a/
src/simix/smx_private.h
+++ b/
src/simix/smx_private.h
@@
-7,7
+7,7
@@
#ifndef _SIMIX_PRIVATE_H
#define _SIMIX_PRIVATE_H
#ifndef _SIMIX_PRIVATE_H
#define _SIMIX_PRIVATE_H
-#include "sim
ix
/simix.h"
+#include "sim
grid
/simix.h"
#include "surf/surf.h"
#include "xbt/fifo.h"
#include "xbt/swag.h"
#include "surf/surf.h"
#include "xbt/fifo.h"
#include "xbt/swag.h"
@@
-23,7
+23,6
@@
#include "smx_network_private.h"
#include "smx_smurf_private.h"
#include "smx_synchro_private.h"
#include "smx_network_private.h"
#include "smx_smurf_private.h"
#include "smx_synchro_private.h"
-#include "simix/context.h"
/* Define only for SimGrid benchmarking purposes */
#undef TIME_BENCH
/* Define only for SimGrid benchmarking purposes */
#undef TIME_BENCH
@@
-41,11
+40,14
@@
typedef struct s_smx_global {
void_pfn_smxprocess_t kill_process_function;
void_pfn_smxprocess_t cleanup_process_function;
xbt_mallocator_t action_mallocator;
void_pfn_smxprocess_t kill_process_function;
void_pfn_smxprocess_t cleanup_process_function;
xbt_mallocator_t action_mallocator;
+ void_pfn_smxhost_t autorestart;
} s_smx_global_t, *smx_global_t;
extern smx_global_t simix_global;
extern unsigned long simix_process_maxpid;
} s_smx_global_t, *smx_global_t;
extern smx_global_t simix_global;
extern unsigned long simix_process_maxpid;
+extern xbt_dict_t watched_hosts_lib;
+
/******************************** Exceptions *********************************/
#define SMX_EXCEPTION(issuer, c, v, m) \
/******************************** Exceptions *********************************/
#define SMX_EXCEPTION(issuer, c, v, m) \
@@
-123,6
+125,9
@@
typedef struct s_smx_action {
int detached; /* If detached or not */
void (*clean_fun)(void*); /* Function to clean the detached src_buf if something goes wrong */
int detached; /* If detached or not */
void (*clean_fun)(void*); /* Function to clean the detached src_buf if something goes wrong */
+ int (*match_fun)(void*,void*,smx_action_t); /* Filter function used by the other side. It is used when
+ looking if a given communication matches my needs. For that, myself must match the
+ expectations of the other side, too. See */
/* Surf action data */
surf_action_t surf_comm; /* The Surf communication action encapsulated */
/* Surf action data */
surf_action_t surf_comm; /* The Surf communication action encapsulated */
@@
-138,9
+143,9
@@
typedef struct s_smx_action {
void *dst_buff;
size_t src_buff_size;
size_t *dst_buff_size;
void *dst_buff;
size_t src_buff_size;
size_t *dst_buff_size;
- char copied;
+ unsigned copied:1; /* whether the data were already copied */
- void* src_data;
/* User data associated to communication */
+ void* src_data; /* User data associated to communication */
void* dst_data;
} comm;
void* dst_data;
} comm;
@@
-279,7
+284,7
@@
static XBT_INLINE void SIMIX_context_runall(void)
*/
static XBT_INLINE smx_context_t SIMIX_context_self(void)
{
*/
static XBT_INLINE smx_context_t SIMIX_context_self(void)
{
- if (simix_global && simix_global->context_factory
!= NULL
) {
+ if (simix_global && simix_global->context_factory) {
return simix_global->context_factory->self();
}
return simix_global->context_factory->self();
}