Процесс A, у которого есть "дочерний поток" B. gtk_main запускается из A: .......... gdk_threads_enter() gtk_main() gdk_threads_leave() .......... Выше в A установлен обработчик сигнала(неважно какого, пусть это будет SIGUSR1: signal(SIGUSR1, handler)), обработчик должен создать GtkMessageDialog, при закрытии которого по Cancel или крестику, должен вызваться обработчик, установленный средствами glib (g_signal_connect). Поток B периодически входит в цикл gtk_main с помощью gdk_threads_enter()/gdk_threads_leave() и производит злобные манипуляции. Вопрос: что писать в коде handler для создания диалога? Если делать просто и по-тупому через создать диалог/run_dialog, то процесс вываливается с XLib-ошибкой. Я так понимаю, что после возникновения сигнала SIGUSR1 процесс останавливает работу, и выполняется обработчик, т.е. в gdk_threads входить не надо. Хотя входить тоже пробовал, но не получается.
Ответ на:
комментарий
от eXire
Ответ на:
комментарий
от ttnl
Ответ на:
комментарий
от ttnl
Ответ на:
комментарий
от BreadFan
Ответ на:
комментарий
от ttnl
Ответ на:
комментарий
от ttnl
Ответ на:
комментарий
от BreadFan
Ответ на:
комментарий
от BreadFan
Ответ на:
комментарий
от ttnl
Ответ на:
комментарий
от ttnl
Ответ на:
комментарий
от BreadFan
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум GTK signal помогите (2008)
- Форум [C, gtk+] Обработчики сигналов (2010)
- Форум gtk, emit-signal crash (2010)
- Форум GTK. Обработчик button-press-event (2008)
- Форум Gtk+,glade. Обновился, перестали подключаться обработчики. (2007)
- Форум Манипуляция сознанием (2015)
- Форум signal (2000)
- Форум signal (2005)
- Форум Reentrant/async-signal-safe snprintf() для использования в обработчиках сигналов (2016)
- Форум Обработчики сигнала (2010)