[Python-checkins] cpython: whatsnew: ssl getpeercert/do_handshake raise OSError, weakref __callback__.

r.david.murray python-checkins at python.org
Mon Jan 6 22:32:55 CET 2014


http://hg.python.org/cpython/rev/2798ebe65fb1
changeset:   88328:2798ebe65fb1
user:        R David Murray <rdmurray at bitdance.com>
date:        Mon Jan 06 16:32:05 2014 -0500
summary:
  whatsnew: ssl getpeercert/do_handshake raise OSError, weakref __callback__.

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.)

files:
  Doc/library/weakref.rst |  11 +----------
  Doc/whatsnew/3.4.rst    |  16 +++++++++++++---
  2 files changed, 14 insertions(+), 13 deletions(-)


diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -123,15 +123,6 @@
       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 @@
 .. 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.
 
diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -657,9 +657,9 @@
 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 @@
 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 @@
   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
 --------------------

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list