#include "xbt/ex.h" /* ex_backtrace_display */
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_kernel, simix,
"Logging specific to SIMIX (kernel)");
#include "xbt/ex.h" /* ex_backtrace_display */
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_kernel, simix,
"Logging specific to SIMIX (kernel)");
simix_global->process_to_run =
xbt_swag_new(xbt_swag_offset(proc, synchro_hookup));
simix_global->process_list =
xbt_swag_new(xbt_swag_offset(proc, process_hookup));
simix_global->current_process = NULL;
simix_global->registered_functions = xbt_dict_new();
simix_global->process_to_run =
xbt_swag_new(xbt_swag_offset(proc, synchro_hookup));
simix_global->process_list =
xbt_swag_new(xbt_swag_offset(proc, process_hookup));
simix_global->current_process = NULL;
simix_global->registered_functions = xbt_dict_new();
simix_global->create_process_function = NULL;
simix_global->kill_process_function = NULL;
simix_global->cleanup_process_function = SIMIX_process_cleanup;
simix_global->create_process_function = NULL;
simix_global->kill_process_function = NULL;
simix_global->cleanup_process_function = SIMIX_process_cleanup;
- who2 = bprintf("%s Blocked on mutex %p", who, p_simdata->mutex);
+ who2 = bprintf("%s Blocked on mutex %p", who, (XBT_LOG_ISENABLED(simix_kernel,xbt_log_priority_verbose))?p_simdata->mutex:(void*)0xdead);
free(who);
who = who2;
} else if (p_simdata->cond) {
who2 =
bprintf
("%s Blocked on condition %p; Waiting for the following actions:",
free(who);
who = who2;
} else if (p_simdata->cond) {
who2 =
bprintf
("%s Blocked on condition %p; Waiting for the following actions:",
free(who);
who = who2;
xbt_fifo_foreach(p_simdata->cond->actions, item, act, smx_action_t) {
free(who);
who = who2;
xbt_fifo_foreach(p_simdata->cond->actions, item, act, smx_action_t) {
- who2 = bprintf("%s '%s'", who, act->name);
+ who2 = bprintf("%s '%s'(%p)", who, act->name,(XBT_LOG_ISENABLED(simix_kernel,xbt_log_priority_verbose))?act:(void*)0xdead);
xbt_fifo_foreach(smx_action->cond_list, _cursor, cond, smx_cond_t) {
xbt_swag_foreach(process, cond->sleeping) {
DEBUG2("\t preparing to wake up %s on %s",
xbt_fifo_foreach(smx_action->cond_list, _cursor, cond, smx_cond_t) {
xbt_swag_foreach(process, cond->sleeping) {
DEBUG2("\t preparing to wake up %s on %s",
xbt_fifo_foreach(smx_action->cond_list, _cursor, cond, smx_cond_t) {
xbt_swag_foreach(process, cond->sleeping) {
DEBUG2("\t preparing to wake up %s on %s",
xbt_fifo_foreach(smx_action->cond_list, _cursor, cond, smx_cond_t) {
xbt_swag_foreach(process, cond->sleeping) {
DEBUG2("\t preparing to wake up %s on %s",
- xbt_fifo_foreach(simix_global->host, i, h, smx_host_t) {
- __SIMIX_host_destroy(h);
- }
- xbt_fifo_free(simix_global->host);
+ xbt_dict_free(&(simix_global->host));
xbt_swag_free(simix_global->process_to_run);
xbt_swag_free(simix_global->process_list);
xbt_dict_free(&(simix_global->registered_functions));
simix_config_finalize();
free(simix_global);
xbt_swag_free(simix_global->process_to_run);
xbt_swag_free(simix_global->process_list);
xbt_dict_free(&(simix_global->registered_functions));
simix_config_finalize();
free(simix_global);
xbt_context_empty_trash();
if (xbt_swag_size(simix_global->process_to_run) && (elapsed_time > 0)) {
DEBUG0("**************************************************");
}
xbt_context_empty_trash();
if (xbt_swag_size(simix_global->process_to_run) && (elapsed_time > 0)) {
DEBUG0("**************************************************");
}
while ((process = xbt_swag_extract(simix_global->process_to_run))) {
DEBUG2("Scheduling %s on %s",
while ((process = xbt_swag_extract(simix_global->process_to_run))) {
DEBUG2("Scheduling %s on %s",
- xbt_dynar_foreach(resource_list, i, resource) {
- if (xbt_swag_size(resource->common_public->states.failed_action_set)
- || xbt_swag_size(resource->common_public->states.
+ xbt_dynar_foreach(model_list, iter, model) {
+ if (xbt_swag_size(model->common_public->states.failed_action_set)
+ || xbt_swag_size(model->common_public->states.
DEBUG2("got %p %p", fun, arg);
if (fun == SIMIX_process_create) {
smx_process_arg_t args = arg;
DEBUG2("Launching %s on %s", args->name, args->hostname);
process = SIMIX_process_create(args->name, args->code,
args->data, args->hostname,
DEBUG2("got %p %p", fun, arg);
if (fun == SIMIX_process_create) {
smx_process_arg_t args = arg;
DEBUG2("Launching %s on %s", args->name, args->hostname);
process = SIMIX_process_create(args->name, args->code,
args->data, args->hostname,
if (fun == SIMIX_process_kill) {
process = arg;
DEBUG2("Killing %s on %s", process->name,
if (fun == SIMIX_process_kill) {
process = arg;
DEBUG2("Killing %s on %s", process->name,