- /* activate trace */
- if (trace_active == 1){
- THROWF (tracing_error, 0, "Tracing is already active");
+ /* activate trace */
+ if (trace_active == 1) {
+ THROWF(tracing_error, 0, "Tracing is already active");
+ }
+ trace_active = 1;
+ XBT_DEBUG("Tracing is on");
+
+ /* other trace initialization */
+ created_categories = xbt_dict_new_homogeneous(xbt_free);
+ declared_marks = xbt_dict_new_homogeneous(xbt_free);
+ user_host_variables = xbt_dict_new_homogeneous(xbt_free);
+ user_link_variables = xbt_dict_new_homogeneous(xbt_free);
+
+ if (TRACE_start_functions != NULL) {
+ void (*func) ();
+ unsigned int iter = xbt_dynar_length(TRACE_start_functions);
+ xbt_dynar_foreach(TRACE_start_functions, iter, func) {
+ func();
+ }
+ }