3 ms·
I think he was saying something else was calling it and that was busting other things. Gevent did some crazy antics to get the whole tcp interface patched up. h
by mianos 2y ago
I think he was saying something else was calling it and that was busting other things. Gevent did some crazy antics to get the whole tcp interface patched up. https://www.gevent.org/api/gevent.monkey.html#gevent.monkey.patch_all https://www.gevent.org/api/gevent.monkey.html#gevent.monkey....
- FreakLegion 2y agoRight, but the reason something else was able to call it was that he patched it too late. The same thing can happen with gevent. From the docs: > Patching should be done as early as possible in the lifecycle of the program. For example, the main module (the one that tests against __main__ or is otherwise the first imported) should begin with this code, ideally before any other imports: from gevent import monkey monkey.patch_all() A corollary of the above is that patching should be done on the main thread and should be done while the program is single-threaded. It's possible to patch later on, but much more involved. If you patch module A after you've already loaded module B, which itself loads module A, then you have to both patch module A and track down and patch every reference to module A in module B. Usually those will just be global references, but not always.