LINUX.ORG.RU
Ответ на: комментарий от rincewind

Я что-то не понял, как там работает пример.

Там же gtk_main между gdk_thread_enter и gdk_thread_leave стоит, то есть блокировка включена, как же два других потока работают?

wieker ★★
() автор топика
Ответ на: комментарий от rincewind

И спасибо за ответ, это то что нужно.

wieker ★★
() автор топика

В двух разных нитках нельзя одновременно использовать gtk или gdk. Надо брать локи (gdk_threads_{enter,leave}). Когда главный цикл входит в состояние ожидания, он снимает лок, а когда получает событие, получает лок.

dmitry_vk ★★★
()
Ответ на: комментарий от dmitry_vk

>Когда главный цикл входит в состояние ожидания, он снимает лок, а когда получает событие, получает лок.

Ага, теперь понятно, как работает пример, спасибо.

wieker ★★
() автор топика
Ответ на: комментарий от wieker

Вот только если канпелировать под win32, фокус с enter/leave не пройдет, всё должно залочиться

yoghurt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.