X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=lttv%2Fmodules%2Fgui%2Ftracecontrol%2Ftracecontrol.c;h=d4919a97a6b06bb7be27e7ff058690a0c323133a;hb=13d35254ac627d7763cca99d0a534bc1dea3461a;hp=28e665567baf7374310868c7c8d9212091ba3e91;hpb=f61f4dca50e13aa52b1ca3941c8f420848f4353f;p=lttv.git diff --git a/lttv/modules/gui/tracecontrol/tracecontrol.c b/lttv/modules/gui/tracecontrol/tracecontrol.c index 28e66556..d4919a97 100644 --- a/lttv/modules/gui/tracecontrol/tracecontrol.c +++ b/lttv/modules/gui/tracecontrol/tracecontrol.c @@ -164,10 +164,6 @@ gui_control(LttvPluginTab *ptab) Tab *tab = ptab->tab; g_debug("filter::gui_control()"); - unsigned i; - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - ControlData* tcd = g_new(ControlData,1); tcd->tab = tab; @@ -450,8 +446,6 @@ gui_control(LttvPluginTab *ptab) void gui_control_destructor(ControlData *tcd) { - Tab *tab = tcd->tab; - /* May already been done by GTK window closing */ if(GTK_IS_WIDGET(guicontrol_get_widget(tcd))){ g_info("widget still exists"); @@ -482,9 +476,6 @@ static int execute_command(const gchar *command, const gchar *username, int status; ssize_t count; /* discuss with su */ - struct timeval timeout; - timeout.tv_sec = 1; - timeout.tv_usec = 0; struct pollfd pollfd; int num_rdy; @@ -513,56 +504,61 @@ static int execute_command(const gchar *command, const gchar *username, /* Timeout : Stop waiting for chars */ if(num_rdy == 0) goto wait_child; - switch(pollfd.revents) { - case POLLERR: + /* Check for fatal errors */ + if(pollfd.revents & POLLERR) { g_warning("Error returned in polling fd\n"); num_hup++; - break; - case POLLHUP: - g_info("Polling FD : hung up."); - num_hup++; - break; - case POLLNVAL: - g_warning("Polling fd tells it is not open"); - num_hup++; - break; - case POLLPRI: - case POLLIN: - count = read (fdpty, buf, 256); - if(count > 0) { - unsigned int i; - buf[count] = '\0'; - g_printf("%s", buf); - for(i=0; i 0) { + unsigned int i; + buf[count] = '\0'; + g_printf("%s", buf); + for(i=0; i 0) { - g_warning("Child hung up too fast"); + g_warning("Child hung up without returning a full reply"); goto wait_child; } } @@ -845,7 +841,7 @@ void start_clicked (GtkButton *button, gpointer user_data) GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); gtk_dialog_run(GTK_DIALOG(dialogue)); gtk_widget_destroy(dialogue); } @@ -917,7 +913,7 @@ void pause_clicked (GtkButton *button, gpointer user_data) GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); gtk_dialog_run(GTK_DIALOG(dialogue)); gtk_widget_destroy(dialogue); } @@ -988,7 +984,7 @@ void unpause_clicked (GtkButton *button, gpointer user_data) GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); gtk_dialog_run(GTK_DIALOG(dialogue)); gtk_widget_destroy(dialogue); } @@ -1019,10 +1015,10 @@ void stop_clicked (GtkButton *button, gpointer user_data) const gchar *lttctl_path = gtk_entry_get_text(GTK_ENTRY(tcd->lttctl_path_entry)); - gchar *trace_dir = gtk_entry_get_text(GTK_ENTRY(tcd->trace_dir_entry)); + const gchar *trace_dir = gtk_entry_get_text(GTK_ENTRY(tcd->trace_dir_entry)); GSList * trace_list = NULL; - trace_list = g_slist_append(trace_list, trace_dir); + trace_list = g_slist_append(trace_list, (gpointer) trace_dir); /* Setup arguments to su */ /* child */ @@ -1087,7 +1083,7 @@ void stop_clicked (GtkButton *button, gpointer user_data) GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); gtk_dialog_run(GTK_DIALOG(dialogue)); gtk_widget_destroy(dialogue); return; @@ -1116,7 +1112,8 @@ void stop_clicked (GtkButton *button, gpointer user_data) switch(id){ case GTK_RESPONSE_ACCEPT: { - create_main_window_with_trace_list(trace_list); + /* TODO ybrosseau: 2011-04-20: Add support for live trace */ + create_main_window_with_trace_list(trace_list, FALSE); } break; case GTK_RESPONSE_REJECT: @@ -1171,7 +1168,7 @@ void arm_clicked (GtkButton *button, gpointer user_data) GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); gtk_dialog_run(GTK_DIALOG(dialogue)); gtk_widget_destroy(dialogue); } @@ -1222,7 +1219,7 @@ void disarm_clicked (GtkButton *button, gpointer user_data) GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - msg); + "%s", msg); gtk_dialog_run(GTK_DIALOG(dialogue)); gtk_widget_destroy(dialogue); } @@ -1243,10 +1240,11 @@ void disarm_clicked (GtkButton *button, gpointer user_data) GtkWidget * h_guicontrol(LttvPlugin *plugin) { - LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin); - ControlData* f = gui_control(ptab); + LttvPluginTab *ptab = LTTV_PLUGIN_TAB(plugin); + gui_control(ptab) ; - return NULL; + /* TODO ybrosseau 2011-02-04: We should probably return a widget here */ + return NULL; } /**