1. 09 Eyl, 2008 1 kayıt (commit)
  2. 16 Haz, 2008 1 kayıt (commit)
    • Amaury Forgeot d'Arc's avatar
      Issue 3110: Crash with weakref subclass, · a8919fe6
      Amaury Forgeot d'Arc yazdı
      seen after a "import multiprocessing.reduction"
      
      An instance of a weakref subclass can have attributes.
      If such a weakref holds the only strong reference to the object,
      deleting the weakref will delete the object. In this case,
      the callback must not be called, because the ref object is being deleted!
      a8919fe6
  3. 20 May, 2008 1 kayıt (commit)
  4. 23 Ock, 2007 1 kayıt (commit)
  5. 12 Ara, 2006 1 kayıt (commit)
  6. 28 May, 2006 1 kayıt (commit)
    • Armin Rigo's avatar
      ("Forward-port" of r46506) · a3f09275
      Armin Rigo yazdı
      Remove various dependencies on dictionary order in the standard library
      tests, and one (clearly an oversight, potentially critical) in the
      standard library itself - base64.py.
      
      Remaining open issues:
       * test_extcall is an output test, messy to make robust
       * tarfile.py has a potential bug here, but I'm not familiar
         enough with this code.  Filed in as SF bug #1496501.
       * urllib2.HTTPPasswordMgr() returns a random result if there is more
         than one matching root path.  I'm asking python-dev for
         clarification...
      a3f09275
  7. 02 May, 2006 1 kayıt (commit)
  8. 02 Tem, 2005 1 kayıt (commit)
  9. 27 Mar, 2005 1 kayıt (commit)
  10. 08 Tem, 2004 1 kayıt (commit)
  11. 02 Tem, 2004 1 kayıt (commit)
    • Fred Drake's avatar
      Make weak references subclassable: · 0a4dd390
      Fred Drake yazdı
      - weakref.ref and weakref.ReferenceType will become aliases for each
        other
      
      - weakref.ref will be a modern, new-style class with proper __new__
        and __init__ methods
      
      - weakref.WeakValueDictionary will have a lighter memory footprint,
        using a new weakref.ref subclass to associate the key with the
        value, allowing us to have only a single object of overhead for each
        dictionary entry (currently, there are 3 objects of overhead per
        entry: a weakref to the value, a weakref to the dictionary, and a
        function object used as a weakref callback; the weakref to the
        dictionary could be avoided without this change)
      
      - a new macro, PyWeakref_CheckRefExact(), will be added
      
      - PyWeakref_CheckRef() will check for subclasses of weakref.ref
      
      This closes SF patch #983019.
      0a4dd390
  12. 02 Haz, 2004 1 kayıt (commit)
  13. 31 May, 2004 1 kayıt (commit)
  14. 13 Şub, 2004 1 kayıt (commit)
    • Fred Drake's avatar
      further testing indicates that the simplified version of the test · 55cf4347
      Fred Drake yazdı
      (re-using an existing test object class) no longer triggered the
      original segfault when the fix was backed out; restoring the local
      test object class to make the test effective
      
      the assignment of the ref created at the end does not affect the test,
      since the segfault happended before weakref.ref() returned; removing
      the assignment
      55cf4347
  15. 12 Şub, 2004 2 kayıt (commit)
  16. 04 Şub, 2004 1 kayıt (commit)
    • Fred Drake's avatar
      Allocating a new weakref object can cause existing weakref objects for · bc875f5a
      Fred Drake yazdı
      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.
      bc875f5a
  17. 03 Şub, 2004 1 kayıt (commit)
  18. 11 Ara, 2003 1 kayıt (commit)
  19. 20 Kas, 2003 1 kayıt (commit)
  20. 16 Kas, 2003 1 kayıt (commit)
    • Raymond Hettinger's avatar
      * Migrate set() and frozenset() from the sandbox. · a690a996
      Raymond Hettinger yazdı
      * Install the unittests, docs, newsitem, include file, and makefile update.
      * Exercise the new functions whereever sets.py was being used.
      
      Includes the docs for libfuncs.tex.  Separate docs for the types are
      forthcoming.
      a690a996
  21. 13 Kas, 2003 1 kayıt (commit)
  22. 12 Kas, 2003 1 kayıt (commit)
    • Tim Peters's avatar
      SF bug 840829: weakref callbacks and gc corrupt memory. · add09b41
      Tim Peters yazdı
      subtype_dealloc():  This left the dying object exposed to gc, so that
      if cyclic gc triggered during the weakref callback, gc tried to delete
      the dying object a second time.  That's a disaster.  subtype_dealloc()
      had a (I hope!) unique problem here, as every normal dealloc routine
      untracks the object (from gc) before fiddling with weakrefs etc.  But
      subtype_dealloc has obscure technical reasons for re-registering the
      dying object with gc (already explained in a large comment block at
      the bottom of the function).
      
      The fix amounts to simply refraining from reregistering the dying object
      with gc until after the weakref callback (if any) has been called.
      
      This is a critical bug (hard to predict, and causes seemingly random
      memory corruption when it occurs).  I'll backport it to 2.3 later.
      add09b41
  23. 14 Tem, 2003 1 kayıt (commit)
    • Fred Drake's avatar
      stylistic nits: · f425b1ec
      Fred Drake yazdı
      - wrap some long lines
      - shorten others
      - fix indentation
      f425b1ec
  24. 30 Haz, 2003 1 kayıt (commit)
  25. 25 May, 2003 2 kayıt (commit)
    • Tim Peters's avatar
      Fleshed out WeakKeyDictionary.__delitem__ NEWS to cover issues raised on · 50d8b8b6
      Tim Peters yazdı
      Python-Dev.  Fixed typos in test comments.  Added some trivial new test
      guts to show the parallelism (now) among __delitem__, __setitem__ and
      __getitem__ wrt error conditions.
      
      Still a bugfix candidate for 2.2.3 final, but waiting for Fred to get a
      chance to chime in.
      50d8b8b6
    • Tim Peters's avatar
      SF 742860: WeakKeyDictionary __delitem__ uses iterkeys · 886128f4
      Tim Peters yazdı
      Someone review this, please!  Final releases are getting close, Fred
      (the weakref guy) won't be around until Tuesday, and the pre-patch
      code can indeed raise spurious RuntimeErrors in the presence of
      threads or mutating comparison functions.
      
      See the bug report for my confusions:  I can't see any reason for why
      __delitem__ iterated over the keys.  The new one-liner implementation
      is much faster, can't raise RuntimeError, and should be better-behaved
      in all respects wrt threads.
      
      New tests test_weak_keyed_bad_delitem and
      test_weak_keyed_cascading_deletes fail before this patch.
      
      Bugfix candidate for 2.2.3 too, if someone else agrees with this patch.
      886128f4
  26. 02 May, 2003 1 kayıt (commit)
  27. 01 May, 2003 1 kayıt (commit)
  28. 09 Mar, 2003 1 kayıt (commit)
    • Raymond Hettinger's avatar
      SF patch #667730: More DictMixin · 2c2d3228
      Raymond Hettinger yazdı
      * Adds missing pop() methods to weakref.py
      * Expands test suite to broaden coverage of objects with
        a mapping interface.
      
      Contributed by Sebastien Keim.
      2c2d3228
  29. 22 Agu, 2002 1 kayıt (commit)
  30. 23 Tem, 2002 1 kayıt (commit)
    • Barry Warsaw's avatar
      Get rid of relative imports in all unittests. Now anything that · 04f357cf
      Barry Warsaw yazdı
      imports e.g. test_support must do so using an absolute package name
      such as "import test.test_support" or "from test import test_support".
      
      This also updates the README in Lib/test, and gets rid of the
      duplicate data dirctory in Lib/test/data (replaced by
      Lib/email/test/data).
      
      Now Tim and Jack can have at it. :)
      04f357cf
  31. 10 Haz, 2002 1 kayıt (commit)
  32. 11 Nis, 2002 1 kayıt (commit)
  33. 19 Ara, 2001 1 kayıt (commit)
  34. 10 Ara, 2001 1 kayıt (commit)
  35. 06 Kas, 2001 1 kayıt (commit)
  36. 18 Eki, 2001 2 kayıt (commit)
  37. 20 Eyl, 2001 1 kayıt (commit)