Am 03.09.2012 12:11, schrieb Antoine Pitrou: > Despite being undocumented, these two macros are used in a couple of > third-party extension modules (*) such as greenlet and py-judy. This > means that such an extension compiled for 2.7.3 wouldn't work with > 2.7.4, and vice-versa. Is there something we can do to alleviate the > issue? Add a note in the release notes?
I think breaking existing extension modules in a bugfix release is really not acceptable. I also think that the breakage can be reduced by keeping the global variable. There would then be two counters: the global used by old modules, the per-thread counter used by recompiled modules. I believe this would require separate versions of the helper functions also. In the worst case, this could cause the nesting to go twice as deep, which is not a problem, since the nesting is only 50, anyway. The question also is about the other direction: modules compiled for 2.7.4 that are run on 2.7.3. I think this would be more problematic in your patch, since the code would just access fields in the thread state which aren't there. If the helper functions are called differently, the extension would fail to load, which IMO is the better reaction. Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com