]> granicus.if.org Git - python/commitdiff
whatsnew: ssl getpeercert/do_handshake raise OSError, weakref __callback__.
authorR David Murray <rdmurray@bitdance.com>
Mon, 6 Jan 2014 21:32:05 +0000 (16:32 -0500)
committerR David Murray <rdmurray@bitdance.com>
Mon, 6 Jan 2014 21:32:05 +0000 (16:32 -0500)
Also add a missing word to gc entry, and delete a now-obsolete doc note
in the weakref __callback__ docs.  (Opened an issue for rewriting
the section that compares finalizers and __del__ method.)

Doc/library/weakref.rst
Doc/whatsnew/3.4.rst

index e84ac2bc0a46b547b8af593064c8153e9c8a0846..9ca60a903f93f088841f18c6021efad4ff837b2b 100644 (file)
@@ -123,15 +123,6 @@ Extension types can easily be made to support weak references; see
       weakref.  If there is no callback or if the referent of the weakref is
       no longer alive then this attribute will have value ``None``.
 
-   .. note::
-
-      Like :meth:`__del__` methods, weak reference callbacks can be
-      called during interpreter shutdown when module globals have been
-      overwritten with :const:`None`.  This can make writing robust
-      weak reference callbacks a challenge.  Callbacks registered
-      using :class:`finalize` do not have to worry about this issue
-      because they will not be run after module teardown has begun.
-
    .. versionchanged:: 3.4
       Added the :attr:`__callback__` attribute.
 
@@ -247,7 +238,7 @@ These method have the same issues as the and :meth:`keyrefs` method of
 .. class:: finalize(obj, func, *args, **kwargs)
 
    Return a callable finalizer object which will be called when *obj*
-   is garbage collected. Unlike an ordinary weak reference, a finalizer is
+   is garbage collected. Unlike an ordinary weak reference, a finalizer
    will always survive until the reference object is collected, greatly
    simplifying lifecycle management.
 
index a6dbe8a8bbc670e814232a9b99f53adc817d6bc1..bb2c69d77dd7388ba9a30628d14e1e4ec2de0b56 100644 (file)
@@ -657,9 +657,9 @@ available for other implementations to use.  (Contributed by Brian Thorne in
 gc
 --
 
-New :func:`~gc.get_stats` returns a list of three per-generation dictionaries
-containing the collections statistics since interpreter startup.  (Contributed
-by Antoine Pitrou in :issue:`16351`.)
+New function :func:`~gc.get_stats` returns a list of three per-generation
+dictionaries containing the collections statistics since interpreter startup.
+(Contributed by Antoine Pitrou in :issue:`16351`.)
 
 
 hashlib
@@ -1103,6 +1103,10 @@ to be invoked when an object is garbage collected, without needing to
 carefully manage the lifecycle of the weak reference itself. (Contributed by
 Richard Oudkerk in :issue:`15528`)
 
+The callback, if any, associated with a :class:`~weakref.ref` is now
+exposed via the :attr:`~weakref.ref.__callback__` attribute.  (Contributed
+by Mark Dickinson in :issue:`17643`.)
+
 
 xml.etree
 ---------
@@ -1482,6 +1486,12 @@ Changes in the Python API
   compliance with the language spec; Jython and PyPy already were.
   (:issue:`17434`).
 
+* :meth:`ssl.SSLSocket.getpeercert` and :meth:`ssl.SSLSocket.do_handshake`
+  now raise an :exc:`OSError` with ``ENOTCONN`` when the ``SSLSocket`` is not
+  connected, instead of the previous behavior of raising an
+  :exc:`AttributError`.  In addition, :meth:`~ssl.SSLSocket.getpeercert`
+  will raise a :exc:`ValueError` if the handshake has not yet been done.
+
 
 Changes in the C API
 --------------------