X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=gfio.c;h=ce180911db343ae8b7b94054262f53ae023523a1;hp=313894169a3976fe8a472ce9d748fa1f81c34daa;hb=fc8d6d050a22662f445954303953d81e500496aa;hpb=de26d51f3e909997c9a500bf9f15a1bd5c18bb49 diff --git a/gfio.c b/gfio.c index 31389416..ce180911 100644 --- a/gfio.c +++ b/gfio.c @@ -444,12 +444,12 @@ static int send_job_file(struct gui_entry *ge) while (!flist_empty(&gc->o_list)) { struct gfio_client_options *gco; - gco = flist_entry(gc->o_list.next, struct gfio_client_options, list); + gco = flist_first_entry(&gc->o_list, struct gfio_client_options, list); flist_del(&gco->list); free(gco); } - ret = fio_client_send_ini(gc->client, ge->job_file); + ret = fio_client_send_ini(gc->client, ge->job_file, false); if (!ret) return 0; @@ -459,10 +459,12 @@ static int send_job_file(struct gui_entry *ge) static void *server_thread(void *arg) { + fio_server_create_sk_key(); is_backend = 1; gfio_server_running = 1; fio_start_server(NULL); gfio_server_running = 0; + fio_server_destroy_sk_key(); return NULL; } @@ -654,6 +656,12 @@ static void gfio_client_added(struct gui_entry *ge, struct fio_client *client) gc->o_list_nr++; } +static void gfio_clear_graph_data(struct gfio_graphs *g) +{ + graph_clear_values(g->iops_graph); + graph_clear_values(g->bandwidth_graph); +} + static void connect_clicked(GtkWidget *widget, gpointer data) { struct gui_entry *ge = data; @@ -694,6 +702,7 @@ static void connect_clicked(GtkWidget *widget, gpointer data) if (!ge->ui->handler_running) pthread_create(&ge->ui->t, NULL, job_thread, ge->ui); gfio_set_state(ge, GE_STATE_CONNECTED); + gfio_clear_graph_data(&ge->graphs); } else { gfio_report_error(ge, "Failed to connect to %s: %s\n", ge->client->client->hostname, strerror(-ret)); } @@ -1670,14 +1679,19 @@ static void init_ui(int *argc, char **argv[], struct gui *ui) * Without it, the update that happens in gfio_update_thread_status * doesn't really happen in a timely fashion, you need expose events */ +#if !GLIB_CHECK_VERSION(2, 31, 0) if (!g_thread_supported()) g_thread_init(NULL); +#endif + gdk_threads_init(); gtk_init(argc, argv); settings = gtk_settings_get_default(); gtk_settings_set_long_property(settings, "gtk_tooltip_timeout", 10, "gfio setting"); +#if !GLIB_CHECK_VERSION(2, 36, 0) g_type_init(); +#endif gdk_color_parse("#fffff4", &gfio_color_lightyellow); gdk_color_parse("white", &gfio_color_white);