git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8970
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
int argc;
char **argv;
void_pfn_smxprocess_t cleanup_func;
int argc;
char **argv;
void_pfn_smxprocess_t cleanup_func;
void *data; /* Here SIMIX stores the smx_process_t containing the context */
} s_smx_ctx_base_t;
void *data; /* Here SIMIX stores the smx_process_t containing the context */
} s_smx_ctx_base_t;
int doexception:1;
int blocked:1;
int suspended:1;
int doexception:1;
int blocked:1;
int suspended:1;
smx_action_t waiting_action;
xbt_dict_t properties;
smx_req_t request;
smx_action_t waiting_action;
xbt_dict_t properties;
smx_req_t request;
process->pid = simix_process_count++;
process->name = xbt_strdup(name);
process->smx_host = host;
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);
process->data = data;
VERB1("Create context %s", process->name);
DEBUG2("Killing process %s on %s", process->name, process->smx_host->name);
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? */
process->blocked = 0;
process->suspended = 0;
/* FIXME: set doexception to 0 also? */
/* Ok, maestro returned control to us */
DEBUG1("Maestro returned control to me: '%s'", self->name);
/* Ok, maestro returned control to us */
DEBUG1("Maestro returned control to me: '%s'", self->name);
+ if (self->context->iwannadie)
SIMIX_context_stop(self->context);
if (self->doexception) {
SIMIX_context_stop(self->context);
if (self->doexception) {