summaryrefslogtreecommitdiffstats
path: root/Objects/weakrefobject.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Allocating a new weakref object can cause existing weakref objects forFred Drake2004-02-041-3/+16
| | | | | | | | | the same object to be collected by the cyclic GC support if they are only referenced by a cycle. If the weakref being collected was one of the weakrefs without callbacks, some local variables for the constructor became invalid and have to be re-computed. The test caused a segfault under a debug build without the fix applied.
* Fix bug in interpretation of the "callback" argument in the constructors forFred Drake2004-02-031-1/+5
| | | | | weakref ref and proxy objects; None was not being treated as identical to NULL, though it was documented as equivalent.
* SF bug 839548: Bug in type's GC handling causes segfaults.Tim Peters2003-11-201-4/+30
| | | | | | | | Also SF patch 843455. This is a critical bugfix. I'll backport to 2.3 maint, but not beyond that. The bugs this fixes have been there since weakrefs were introduced.
* Remove proxy_print(), since that caused an inconsistency betweenFred Drake2003-07-141-10/+2
| | | | | "print repr(proxy(a))" and "proxy(a)" at an interactive prompt. Closes SF bug #722763.
* Fix SF 762891: "del p[key]" on proxy object raises SystemError()Raymond Hettinger2003-06-301-1/+5
|
* - The repr() of a weakref object now shows the __name__ attribute ofGuido van Rossum2003-04-161-6/+15
| | | | | | | the referenced object, if it has one. Also use %p to format pointers consistently, and use <weakproxy ...> in proxy_repr(), to match the type name.
* Add support for the iterator protocol to weakref proxy objects.Fred Drake2002-08-091-38/+64
| | | | Part of fixing SF bug #591704.
* Remove weakref free list. This has the side effect of fixing a memoryNeil Schemenauer2002-03-271-26/+11
| | | | | management bug. Also, move some duplicated code into the new_weakref fucntion.
* proxy_compare(): Make sure that we unwrap both objects being compared ifFred Drake2001-12-191-6/+13
| | | | both are proxy objects.
* Make sure that when we invoke callback functions associated with weakFred Drake2001-12-101-20/+24
| | | | | | references, we do not allow any outstanding exceptions "leak" into the callback's execution state. This closes SF bug #478534.
* weakref_repr(), proxy_repr(): Conversion of sprintf() toBarry Warsaw2001-11-281-8/+11
| | | | PyOS_snprintf() for buffer overrun avoidance.
* Fixes for possible buffer overflows in sprintf() usages.Marc-André Lemburg2001-11-281-1/+1
|
* Referencable is not a word, so don't use it in an error message <wink>.Jeremy Hylton2001-10-221-2/+2
|
* Remove an unnecessary check for NULL.Fred Drake2001-10-181-4/+3
|
* When weakref proxies are involved in binary & ternary slot operations,Fred Drake2001-10-181-15/+28
| | | | | | | | | | | the left-hand operand may not be the proxy in all cases. If it isn't, we end up doing two things: a) unwrapping something that isn't a PyWeakReference (later resulting in a core dump) and b) passing a proxy as the right-hand operand anyway, even though that can't be handled by the actual handler (maybe eventually causing a core dump). This is fixed by always unwrapping all the proxies involved before passing anything to the actual handler.
* The weak reference implementation, separated from the weakref module.Fred Drake2001-10-051-0/+715