/* 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. */
/* 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. */
-XBT_LOG_EXTERNAL_CATEGORY(simix);
-XBT_LOG_EXTERNAL_CATEGORY(simix_action);
-XBT_LOG_EXTERNAL_CATEGORY(simix_deployment);
-XBT_LOG_EXTERNAL_CATEGORY(simix_environment);
-XBT_LOG_EXTERNAL_CATEGORY(simix_host);
-XBT_LOG_EXTERNAL_CATEGORY(simix_process);
-XBT_LOG_EXTERNAL_CATEGORY(simix_synchro);
-XBT_LOG_EXTERNAL_CATEGORY(simix_context);
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_kernel, simix,
"Logging specific to SIMIX (kernel)");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_kernel, simix,
"Logging specific to SIMIX (kernel)");
XBT_LOG_CONNECT(simix_deployment, simix);
XBT_LOG_CONNECT(simix_environment, simix);
XBT_LOG_CONNECT(simix_host, simix);
XBT_LOG_CONNECT(simix_kernel, simix);
XBT_LOG_CONNECT(simix_process, simix);
XBT_LOG_CONNECT(simix_synchro, simix);
XBT_LOG_CONNECT(simix_deployment, simix);
XBT_LOG_CONNECT(simix_environment, simix);
XBT_LOG_CONNECT(simix_host, simix);
XBT_LOG_CONNECT(simix_kernel, simix);
XBT_LOG_CONNECT(simix_process, simix);
XBT_LOG_CONNECT(simix_synchro, simix);
xbt_dynar_length(simix_global->process_to_run));
SIMIX_process_runall();
xbt_dynar_foreach(simix_global->process_that_ran, iter, process) {
xbt_dynar_length(simix_global->process_to_run));
SIMIX_process_runall();
xbt_dynar_foreach(simix_global->process_that_ran, iter, process) {
- if (process->request.call != REQ_NO_REQ) {
- XBT_DEBUG("Handling request %p", &process->request);
- SIMIX_request_pre(&process->request, 0);
+ if (process->simcall.call != SIMCALL_NONE) {
+ SIMIX_simcall_pre(&process->simcall, 0);
- for (set = model->states.failed_action_set;
- set;
- set = (set == model->states.failed_action_set)
- ? model->states.done_action_set
- : NULL) {
- while ((action = xbt_swag_extract(set)))
- SIMIX_request_post((smx_action_t) action->data);
- }
+ set = model->states.failed_action_set;
+ while ((action = xbt_swag_extract(set)))
+ SIMIX_simcall_post((smx_action_t) action->data);
+ set = model->states.done_action_set;
+ while ((action = xbt_swag_extract(set)))
+ SIMIX_simcall_post((smx_action_t) action->data);
XBT_INFO("%d processes are still running, waiting for something.", nbprocess);
/* List the process and their state */
XBT_INFO
XBT_INFO("%d processes are still running, waiting for something.", nbprocess);
/* List the process and their state */
XBT_INFO
xbt_swag_foreach(process, simix_global->process_list) {
if (process->waiting_action) {
xbt_swag_foreach(process, simix_global->process_list) {
if (process->waiting_action) {
process->pid, process->name, process->smx_host->name,
process->pid, process->name, process->smx_host->name,
- action_description, process->waiting_action,
- process->waiting_action->name, process->waiting_action->state);
+ action_description, process->waiting_action,
+ process->waiting_action->name, (int)process->waiting_action->state);
- XBT_INFO("Process %ld (%s@%s)", process->pid, process->name, process->smx_host->name);
+ XBT_INFO("Process %lu (%s@%s)", process->pid, process->name, process->smx_host->name);
}
}
}
static void* SIMIX_action_mallocator_new_f(void) {
smx_action_t action = xbt_new(s_smx_action_t, 1);
}
}
}
static void* SIMIX_action_mallocator_new_f(void) {
smx_action_t action = xbt_new(s_smx_action_t, 1);