При использовании Python 2.6, Twisted 10.1 и GTK + 2.22, с установленным последним pygtk, у меня проблемы с выключением.Когда я закрываю свое приложение и выключаю реактор (конечно, используя gtk2reactor
), приложение просто зависает.
Я осмотрел искаженный источник и добавил сообщения отладки.В итоге происходит событие 'shutdown'
, вызывается PortableGtkReactor.crash
, что вызывает gtk.main_quit
.Событие обрабатывается в конце ReactorBase.runUntilCurrent
.Когда функция возвращается, управление переходит к ReactorBase.iterate
, что возвращает управление к PortableGtkReactor.simulate
, которое возвращается к ... вызову gtk.main()
.Похоже, что gtk
просто не завершается.
К сожалению, когда я собрал очень простой пример с использованием twisted и примера gtk "Hello World", все отключилось правильно.Это должно быть то, что делает мое приложение.Пока я не смогу понять это дальше, хотя ...
Что может быть причиной этого?Как то, что приложение может сделать, что заставляет gtk не выходить?Приложение отлично работало на Gtk 2.12, с Python 2.5 и Twisted 8.1, если это поможет.