1.4版的更改#
1.4.0(2019年1月4日)#
在“3Str”模式下使用Cython 0.29进行构建。
在Windows上使用pypy 6.0进行测试。
添加对应用程序范围回调的支持
Greenlet
对象已启动。见 pull request #1289 由Yury Selivanov提供。修复使用单个就绪对象的问题
next(gevent.iwait(objs))
. 以前这样的建筑会因为iter
未被调用。见 pull request #1288 由乔希·斯奈德提供。但不建议这样做,因为未等待的对象将具有悬空链接(但请参见下一项)。制作
gevent.iwait
返回一个迭代器,它现在也可以用作上下文管理器。如果只使用迭代器的一部分,请在with
阻止以避免资源泄漏。见 pull request #1290 由乔希·斯奈德提供。修复信号量,以便在链接就绪时立即通知链接,并且
rawlink()
被调用。这表现得像Event
和AsyncEvent
. 注意,没有指定信号量链接的调用顺序。见 issue #1287 丹·米伦报道。提高解释程序关闭期间处理异常的安全性。见 issue #1295 由Bobdenar1212报告。
删除不推荐使用的指定功能
GEVENT_RESOLVER
以及其他可导入的设置path/to/a/package.module.item
. 这有竞争条件,不适用于复杂的解析器实现。将所需的包或模块放在sys.path
第一。减少使用阻塞监视器功能可能导致明显随机
SystemError: Objects/tupleobject.c: bad argument to internal function
. 报告时间: issue #1302 作者:乌尔里希·佩特里。重构gevent测试运行程序和测试套件,使它们更可重用。尤其是,测试现在使用
python -m gevent.tests
. 见 issue #1293 .做一只修补过的猴子
socket.getaddrinfo
对于python 3上的socket类型和地址族,返回socket模块枚举,而不是普通整数。见 issue #1310 由他们报道。备注
这需要python 3.4.3或更高版本,因为该版本中有未记录的更改。
使gevent的pywsgi服务器设置非标准环境值
wsgi.input_terminated
为真。见 issue #1308 .制作
gevent.util.assert_switches
断言失败时生成更多信息性消息。python 2:如果
gevent.socket
异步关闭(在不同的greenlet或集线器回调中),AttributeError
如果套接字已在使用,则可能会导致。现在应该提出正确的socket.error。固定
gevent.threadpool.ThreadPool.join()
提高UserWarning
使用libuv后端时。报告时间: issue #1321 通过零网。固定
FileObjectPosix.seek
饲养OSError
应该是什么时候IOError
在python 2上。里卡多·科克纳报道,公关部报道。见 issue #1323 .将libuv从1.23.2升级到1.24.0。