From 986fb5fef4507d37b47b9ff8ee5ba5c26e8a5cee Mon Sep 17 00:00:00 2001 From: mquinson Date: Fri, 3 Dec 2010 00:23:46 +0000 Subject: [PATCH] move iwannadie from processes to contextes back git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8970 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- include/simix/context.h | 1 + src/simix/process_private.h | 1 - src/simix/smx_process.c | 5 ++--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/include/simix/context.h b/include/simix/context.h index 1a10dc34cb..7b2c796c31 100644 --- a/include/simix/context.h +++ b/include/simix/context.h @@ -72,6 +72,7 @@ typedef struct s_smx_context { int argc; char **argv; void_pfn_smxprocess_t cleanup_func; + int iwannadie:1; void *data; /* Here SIMIX stores the smx_process_t containing the context */ } s_smx_ctx_base_t; diff --git a/src/simix/process_private.h b/src/simix/process_private.h index 35d5797143..ad98fa49d0 100644 --- a/src/simix/process_private.h +++ b/src/simix/process_private.h @@ -27,7 +27,6 @@ typedef struct s_smx_process { int doexception:1; int blocked:1; int suspended:1; - int iwannadie:1; smx_action_t waiting_action; xbt_dict_t properties; smx_req_t request; diff --git a/src/simix/smx_process.c b/src/simix/smx_process.c index 1c06a6cbcc..ee203f4dd3 100644 --- a/src/simix/smx_process.c +++ b/src/simix/smx_process.c @@ -153,7 +153,6 @@ smx_process_t SIMIX_process_create(const char *name, process->pid = simix_process_count++; process->name = xbt_strdup(name); process->smx_host = host; - process->iwannadie = 0; process->data = data; VERB1("Create context %s", process->name); @@ -192,7 +191,7 @@ void SIMIX_process_kill(smx_process_t process, smx_process_t killer) { DEBUG2("Killing process %s on %s", process->name, process->smx_host->name); - process->iwannadie = 1; + process->context->iwannadie = 1; process->blocked = 0; process->suspended = 0; /* FIXME: set doexception to 0 also? */ @@ -507,7 +506,7 @@ void SIMIX_process_yield(void) /* Ok, maestro returned control to us */ DEBUG1("Maestro returned control to me: '%s'", self->name); - if (self->iwannadie) + if (self->context->iwannadie) SIMIX_context_stop(self->context); if (self->doexception) { -- 2.20.1