event = (LttvEvent *) call_data;
if ((strncmp(lttv_traceset_get_name_from_event(event),"sys_", sizeof("sys_") - 1) == 0)
||(strcmp(lttv_traceset_get_name_from_event(event),"exit_syscall") == 0)
- ||(strncmp(lttv_traceset_get_name_from_event(event),"irq_handler_",sizeof("irq_handler_")) == 0)
- ||(strncmp(lttv_traceset_get_name_from_event(event),"softirq_", sizeof("softirq_")) == 0)) {
+ ||(strncmp(lttv_traceset_get_name_from_event(event),"irq_handler_",sizeof("irq_handler_") -1) == 0)
+ ||(strncmp(lttv_traceset_get_name_from_event(event),"softirq_", sizeof("softirq_") - 1) == 0)) {
LttTime evtime = lttv_event_get_timestamp(event);
ControlFlowData *control_flow_data = (ControlFlowData*)hook_data;
ts = event->state;
guint trace_number = 0;//TODO fdeslauriers 2012-07-17: // Use trace handle to know trace number
- process = lttv_state_find_process(ts ,cpu ,pid);
+
+ //TODO ybrosseau 2013-04-09 validate that using the running process is the right choice
+ //process = lttv_state_find_process(ts ,cpu ,pid);
+ process = ts->running_process[cpu];
+
g_assert(process != NULL);
guint pid = process->pid;
*/
int after_process_exit_hook(void *hook_data, void *call_data)
{
-#if 0
+
LttvEvent *event;
event = (LttvEvent *) call_data;
g_assert(process != NULL);
guint pid = process->pid;
- LttTime birth;
- guint pl_height = 0;
+ //LttTime birth;
+ //guint pl_height = 0;
HashedProcessData *hashed_process_data = NULL;
ProcessList *process_list = control_flow_data->process_list;
- birth = process->creation_time;
+ //birth = process->creation_time;
if(likely(process_list->current_hash_data[trace_num][cpu] != NULL) ){
hashed_process_data = process_list->current_hash_data[trace_num][cpu];
} else {
hashed_process_data = get_hashed_process_data(control_flow_data,
- process, ppid, trace_num);
+ process, pid, trace_num);
/* Set the current process */
hashed_process_data->x.middle_marked = FALSE;
}
}
-#endif
+
return FALSE;
}
#endif
LttTime evtime = lttv_event_get_timestamp(event);
-#ifdef BABEL_CLEANUP
+
ClosureData closure_data;
- closure_data.events_request = events_request;
- closure_data.tss = tss;
+ //TODO ybrosseau 2013-03-27: Fake and event_request.
+ // We need to change the API of drawing_request_expose to ask
+ // For and control flow data only.
+ EventsRequest events_request;
+ events_request.viewer_data = control_flow_data;
+ closure_data.events_request = &events_request;
closure_data.end_time = evtime;
TimeWindow time_window =
gtk_widget_queue_draw(control_flow_data->drawing->drawing_area);
#endif //0
/* Request expose (updates damages zone also) */
- drawing_request_expose(events_request, tss, evtime);
-#endif
+ drawing_request_expose(&events_request, evtime);
+
return 0;
}