X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Feventhooks.c;h=cde8be6baab95c0352e550eb0162e6bf28490b00;hb=d34141ca6fc6dd872a922134b22095bd74ec013d;hp=dc6c161716cf3739b9153a8197a2d09840d26ede;hpb=043489505bef374a8f28cbdac81ea7dc2d2d4aac;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c index dc6c1617..cde8be6b 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/eventhooks.c @@ -217,48 +217,6 @@ h_guicontrolflow(LttvPlugin *plugin) } -void legend_destructor(GtkWindow *legend) -{ - g_legend_list = g_slist_remove(g_legend_list, legend); -} - -/* Create a popup legend */ -GtkWidget * -h_legend(LttvPlugin *plugin) -{ - LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin); - Tab *tab = ptab->tab; - g_info("h_legend, %p", tab); - - GtkWindow *legend = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL)); - - g_legend_list = g_slist_append( - g_legend_list, - legend); - - g_object_set_data_full( - G_OBJECT(legend), - "legend", - legend, - (GDestroyNotify)legend_destructor); - - gtk_window_set_title(legend, "Control Flow View Legend"); - - GtkWidget *pixmap = create_pixmap(GTK_WIDGET(legend), "lttv-color-list.png"); - - // GtkImage *image = GTK_IMAGE(gtk_image_new_from_pixmap( - // GDK_PIXMAP(pixmap), NULL)); - - gtk_container_add(GTK_CONTAINER(legend), GTK_WIDGET(pixmap)); - - gtk_widget_show(GTK_WIDGET(pixmap)); - gtk_widget_show(GTK_WIDGET(legend)); - - - return NULL; /* This is a popup window */ -} - - int event_selected_hook(void *hook_data, void *call_data) { ControlFlowData *control_flow_data = (ControlFlowData*) hook_data; @@ -439,7 +397,7 @@ int before_schedchange_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -464,7 +422,7 @@ int before_schedchange_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -603,7 +561,7 @@ int before_schedchange_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -628,7 +586,7 @@ int before_schedchange_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -828,7 +786,7 @@ int after_schedchange_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -966,7 +924,7 @@ int before_execmode_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -992,7 +950,7 @@ int before_execmode_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -1161,7 +1119,7 @@ int before_process_exit_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -1187,7 +1145,7 @@ int before_process_exit_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -1325,29 +1283,11 @@ int before_process_release_hook(void *hook_data, void *call_data) &birth, trace_num); if(unlikely(hashed_process_data == NULL)) - { - g_assert(pid == 0 || pid != process->ppid); - /* Process not present */ - Drawing_t *drawing = control_flow_data->drawing; - ProcessInfo *process_info; - processlist_add(process_list, - drawing, - pid, - process->tgid, - process->cpu, - process->ppid, - &birth, - trace_num, - process->name, - process->brand, - &pl_height, - &process_info, - &hashed_process_data); - gtk_widget_set_size_request(drawing->drawing_area, - -1, - pl_height); - gtk_widget_queue_draw(drawing->drawing_area); - } + /* + * Process already been scheduled out EXIT_DEAD, not in the process list + * anymore. Just return. + */ + return FALSE; /* Now, the process is in the state hash and our own process hash. * We definitely can draw the items related to the ending state. @@ -1363,7 +1303,7 @@ int before_process_release_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -1389,7 +1329,7 @@ int before_process_release_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -1565,7 +1505,7 @@ int after_process_fork_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -1592,7 +1532,7 @@ int after_process_fork_hook(void *hook_data, void *call_data) hashed_process_data_child->x.under_marked = FALSE; } } - return 0; + return FALSE; } @@ -1696,7 +1636,7 @@ int after_process_exit_hook(void *hook_data, void *call_data) #ifdef EXTRA_CHECK if(ltt_time_compare(evtime, time_window.start_time) == -1 || ltt_time_compare(evtime, time_window.end_time) == 1) - return; + return FALSE; #endif //EXTRA_CHECK Drawing_t *drawing = control_flow_data->drawing; guint width = drawing->width; @@ -1713,7 +1653,7 @@ int after_process_exit_hook(void *hook_data, void *call_data) } } - return 0; + return FALSE; }