Подскажите, пожалуйста, в написание многопотоковой проги на GTK+.
Нарисовал диалоговое окошко на gtk+(glade) и создал поток (pthread_create). Проблема в том, что если перестаешь производить манипуляции с диалоговым окном (например перестал двигать мышью) (то есть, как я понимаю, перестают вырабатываться сигналы), диалог.окно засыпает и вместе с ним засыпает и поток. Что сделать чтобы поток продолжал работать?
Многопотоковая прога на GTK+(Glade)?
Что сделать чтобы поток продолжал работать?
Например, запустить его вне контекста цикла обработки сообщений окна
В каком месте поток запустить?
int main (int argc, char *argv[])
{
gtk_init(&argc, &argv);
glade_init();
xml = glade_xml_new("Fb.glade", "rootwnd", NULL);
if(!xml)
{
g_warning("Failed to create the interface");
return 1;
}
//pthread_create(&thread, NULL, potok, NULL);
glade_xml_signal_connect(xml, "gtk_main_quit", G_CALLBACK(gtk_main_quit));
glade_xml_signal_connect(xml, "on_checkbutton2_clicked", G_CALLBACK(on_checkbutton2_clicked));
glade_xml_signal_connect(xml, "on_checkbutton1_clicked", G_CALLBACK(on_checkbutton1_clicked));
glade_xml_signal_connect(xml, "on_button1_clicked", G_CALLBACK(on_button1_clicked));
glade_xml_signal_connect(xml, "on_button2_clicked", G_CALLBACK(on_button2_clicked));
gtk_main();
return 0;
}