- 16 Nis, 2006 4 kayıt (commit)
-
-
Thomas Wouters yazdı
prevent unreported regression.
-
Neal Norwitz yazdı
-
Neal Norwitz yazdı
-
Neal Norwitz yazdı
-
- 15 Nis, 2006 26 kayıt (commit)
-
-
Thomas Wouters yazdı
exceptions that can't be raised any further, because (for instance) they occur in __del__ methods. The coroutine tests in test_generators was triggering this leak. Remove the leakers' testcase, and add a simpler testcase that explicitly tests this leak to test_generators. test_generators now no longer leaks at all, on my machine. This fix may also solve other leaks, but my full refleakhunting run is still busy, so who knows?
-
Tim Peters yazdı
slot_tp_del(), but while the latter had to cater to types that don't participate in GC, we know that generators do. That allows strengthing an assert().
-
Tim Peters yazdı
-
Thomas Wouters yazdı
same kind of thing.
-
Thomas Wouters yazdı
not be tracked by GC. This fixes 254 of test_generators' refleaks on my machine, but I'm sure something else will make them come back :> Not adding a separate test for this kind of cycle, since the existing fib/m235 already test them in more extensive ways than any 'minimal' test has been able to manage.
-
Thomas Wouters yazdı
using a custom, nearly-identical macro. This probably changes how some of these functions are compiled, which may result in fractionally slower (or faster) execution. Considering the nature of traversal, visiting much of the address space in unpredictable patterns, I'd argue the code readability and maintainability is well worth it ;P
-
Thomas Wouters yazdı
- In functions where we already hold the same object in differently typed pointers, use the correctly typed pointer instead of casting the other pointer a second time.
-
Thomas Heller yazdı
-
-
Martin v. Löwis yazdı
-
Martin v. Löwis yazdı
-
Thomas Wouters yazdı
-
Thomas Wouters yazdı
available.
-
Thomas Wouters yazdı
tp_clear methods.
-
Martin v. Löwis yazdı
dangling references in case of a Py_Initialize/Py_Finalize cycle.
-
Martin v. Löwis yazdı
arena's "private" list of objects, so there might be two references to that list.
-
Martin v. Löwis yazdı
objects before initializing it. It might be linked already if there was a Py_Initialize/Py_Finalize cycle earlier; not unlinking it would break the global list.
-
Martin v. Löwis yazdı
Backported to 2.4.
-
Martin v. Löwis yazdı
is a macro.
-
Martin v. Löwis yazdı
-
Tim Peters yazdı
look dead right at the start. Use Py_CLEAR for four more frame members.
-
Tim Peters yazdı
Py_VISIT: cast the `op` argument to PyObject* when calling `visit()`. Else the caller has to pay too much attention to this silly detail (e.g., frame_traverse needs to traverse `struct _frame *` and `PyCodeObject *` pointers too).
-
Tim Peters yazdı
-
Tim Peters yazdı
why it's important. Now there are ;-) If someone else hasn't already, I'll add a Py_CLEAR cleanup task to the TODO Wiki next.
-
Tim Peters yazdı
examples no longer require any explicit closing to avoid leaking. That the tee-based examples still do is (I think) still a mystery. Part of the mystery is that gc.garbage remains empty: if it were the case that some generator in a trash cycle said it needed finalization, suppressing collection of that cycle, that generator _would_ show up in gc.garbage. So this is acting more like, e.g., some tp_traverse slot isn't visiting all the pointers it should (in which case the skipped pointer(s) would act like an external root, silently suppressing collection of everything reachable from it(them)).
-
Phillip J. Eby yazdı
problems: first, PyGen_NeedsFinalizing() had an off-by-one bug that prevented it from ever saying a generator didn't need finalizing, and second, frame objects cleared themselves in a way that caused their owning generator to think they were still executable, causing a double deallocation of objects on the value stack if there was still a loop on the block stack. This revision also removes some unnecessary close() operations from test_generators that are now appropriately handled by the cycle collector.
-
- 14 Nis, 2006 10 kayıt (commit)
-
-
Thomas Wouters yazdı
PySequence_GetItem of the time.strptime() result. Not a high probability bug, but not inconceivable either, considering people can provide their own 'time' module.
-
Andrew M. Kuchling yazdı
-
Andrew M. Kuchling yazdı
-
Tim Peters yazdı
-
Walter Dörwald yazdı
an incremental encoder that must retain part of the data between calls to the encode() method. Fix the incremental encoder and decoder for the IDNA encoding. This closes SF patch #1453235.
-
Walter Dörwald yazdı
-
Martin v. Löwis yazdı
and PyObject_DEL.
-
Walter Dörwald yazdı
-
Walter Dörwald yazdı
-
Martin v. Löwis yazdı
-