Test for saving on different thread

pull/21/head
parent 534177ac33
commit 4a3733c031

@ -170,6 +170,17 @@ template_debug_window *template_debugger_window_new(){
return window; return window;
} }
void _yon_saving_threaded(char *final_command){
FILE *file = popen(final_command,"r");
int file_save;
config_str file_return = yon_config_load_file(file,&file_save);
file_return = yon_char_parsed_append(file_return,&file_save,final_command);
if (save_success_function)
{
save_success_function(save_success_argument,file_return,file_save);
}
}
void on_save_parameters(GtkWidget *self, template_saving_window *window){ void on_save_parameters(GtkWidget *self, template_saving_window *window){
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(window->ParametersTree)); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(window->ParametersTree));
@ -199,14 +210,8 @@ void on_save_parameters(GtkWidget *self, template_saving_window *window){
yon_char_parsed_prepend_strings(commands,size,ubconfig_set_command(window->custom_save_path)); yon_char_parsed_prepend_strings(commands,size,ubconfig_set_command(window->custom_save_path));
} }
char *final_command = yon_char_parsed_to_string(commands,size,";"); char *final_command = yon_char_parsed_to_string(commands,size,";");
FILE *file = popen(final_command,"r"); pthread_t thread_id;
int file_save; pthread_create(&thread_id, NULL, (void *)_yon_saving_threaded,final_command);
config_str file_return = yon_config_load_file(file,&file_save);
file_return = yon_char_parsed_append(file_return,&file_save,final_command);
if (save_success_function)
{
save_success_function(save_success_argument,file_return,file_save);
}
yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"SaveWindow"); yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"SaveWindow");
on_subwindow_close(self); on_subwindow_close(self);

Loading…
Cancel
Save