使用python2.6、Twisted 10.1和GTK+2.22,并安装了最新的pygtk,我在关闭时遇到了问题。当我关闭应用程序并关闭reactor(当然使用gtk2reactor
)时,应用程序就会冻结。在
我已经在twisted源代码中进行了调试,并添加了调试消息。最后发生的是,'shutdown'
事件触发,PortableGtkReactor.crash
被调用,它调用gtk.main_quit
。事件在ReactorBase.runUntilCurrent
结尾处处理。当函数返回时,控制权转到ReactorBase.iterate
,后者将控制权返回PortableGtkReactor.simulate
,后者返回到。。。gtk.main()
调用。看起来gtk
就是不退出。在
不幸的是,当我用twisted和gtk“Hello World”示例组合一个非常简单的示例时,一切都正确地关闭了。一定是我的应用程序在做什么。不过,在我进一步弄清楚之前。。。在
是什么原因造成的?比如一个应用程序能做些什么使gtk不能退出?这个应用在gtk2.12、python2.5和twisted8.1上运行良好,如果有帮助的话。在
从this question开始,它似乎来自导入
win32ui
模块。但我认为潜在的问题更严重。。在编辑:我安装的windows7和其他东西似乎有问题。在
也许是线?Twisted reactor在关闭时连接所有线程,如果您在挂起的
callInThread
中执行某些操作,则循环可能无法停止。(我也不确定如果你开始自己的线程,会有什么行为。)相关问题 更多 >
编程相关推荐