]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merged revisions 65437,65469,65476,65480,65502,65528,65539,65543,65558,65561-65562...
authorGeorg Brandl <georg@python.org>
Tue, 12 Aug 2008 08:18:18 +0000 (08:18 +0000)
committerGeorg Brandl <georg@python.org>
Tue, 12 Aug 2008 08:18:18 +0000 (08:18 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r65437 | georg.brandl | 2008-08-03 22:28:55 +0000 (Sun, 03 Aug 2008) | 2 lines

  Note the removal of several committers.
........
  r65469 | gregory.p.smith | 2008-08-04 01:03:50 +0000 (Mon, 04 Aug 2008) | 3 lines

  issue1606: Add warnings to the subprocess documentation about common pitfalls
  of using pipes that cause deadlocks.
........
  r65476 | georg.brandl | 2008-08-04 06:29:36 +0000 (Mon, 04 Aug 2008) | 2 lines

  Fix markup.
........
  r65480 | georg.brandl | 2008-08-04 07:31:50 +0000 (Mon, 04 Aug 2008) | 3 lines

  Clarify the meaning of the select() parameters and sync
  names with docstring.
........
  r65502 | gregory.p.smith | 2008-08-04 18:34:07 +0000 (Mon, 04 Aug 2008) | 2 lines

  more cleanup ups of the recently added warnings in the subprocess docs.
........
  r65528 | brett.cannon | 2008-08-04 21:52:25 +0000 (Mon, 04 Aug 2008) | 4 lines

  Add a note about all the modules/packages changed to silence -3 warnings. More
  changes are needed once some decisions are made, but this is the work up to this
  point.
........
  r65539 | andrew.kuchling | 2008-08-05 01:38:08 +0000 (Tue, 05 Aug 2008) | 6 lines

  #3367 from Kristjan Valur Jonsson:
  If a PyTokenizer_FromString() is called with an empty string, the
  tokenizer's line_start member never gets initialized.  Later, it is
  compared with the token pointer 'a' in parsetok.c:193 and that behavior
  can result in undefined behavior.
........
  r65543 | andrew.kuchling | 2008-08-05 02:05:23 +0000 (Tue, 05 Aug 2008) | 1 line

  #3367: revert rev. 65539: this change causes test_parser to fail
........
  r65558 | georg.brandl | 2008-08-06 17:20:41 +0000 (Wed, 06 Aug 2008) | 2 lines

  Fix longstringitem definition. #3505.
........
  r65561 | mark.dickinson | 2008-08-06 20:12:30 +0000 (Wed, 06 Aug 2008) | 2 lines

  Docstring typo
........
  r65562 | mark.dickinson | 2008-08-06 21:36:57 +0000 (Wed, 06 Aug 2008) | 2 lines

  Remove duplicate import
........
  r65565 | andrew.kuchling | 2008-08-07 01:47:34 +0000 (Thu, 07 Aug 2008) | 1 line

  Add some items
........
  r65591 | georg.brandl | 2008-08-08 06:42:20 +0000 (Fri, 08 Aug 2008) | 2 lines

  #3519: callee is an expression too.
........
  r65601 | georg.brandl | 2008-08-08 15:34:34 +0000 (Fri, 08 Aug 2008) | 2 lines

  Remove mention of backquotes in the tutorial.
........
  r65608 | guido.van.rossum | 2008-08-09 14:55:34 +0000 (Sat, 09 Aug 2008) | 2 lines

  Add news item about _sre.compile() re-bytecode validator.
........
  r65610 | antoine.pitrou | 2008-08-09 17:27:23 +0000 (Sat, 09 Aug 2008) | 3 lines

  move NEWS entry to the appropriate section (oops!)
........
  r65639 | georg.brandl | 2008-08-11 10:27:31 +0000 (Mon, 11 Aug 2008) | 2 lines

  #3540: fix exception name.
........

Doc/library/mailbox.rst
Doc/library/select.rst
Doc/library/subprocess.rst
Doc/reference/expressions.rst
Doc/whatsnew/2.6.rst
Lib/multiprocessing/connection.py
Lib/test/test_multiprocessing.py
Misc/developers.txt

index e437b7a5d0dfe150b629cd0b6909f8b3cc4d5667..9cea07198a83d8933edf8d345c7a918323fa299c 100644 (file)
@@ -1478,7 +1478,7 @@ The following exception classes are defined in the :mod:`mailbox` module:
    parameter set to ``False``), or when opening a folder that does not exist.
 
 
-.. exception:: NotEmptyErrorError()
+.. exception:: NotEmptyError()
 
    Raised when a mailbox is not empty but is expected to be, such as when deleting
    a folder that contains messages.
index f64d6dd4f784e866ac396eb144b8cf8d13633cab..bf33c923be25560f47609e63eb6c8f3f99a8e1d4 100644 (file)
@@ -52,19 +52,24 @@ The module defines the following:
    :ref:`kevent-objects` below for the methods supported by kqueue objects.
 
 
-.. function:: select(iwtd, owtd, ewtd[, timeout])
+.. function:: select(rlist, wlist, xlist[, timeout])
 
    This is a straightforward interface to the Unix :cfunc:`select` system call.
    The first three arguments are sequences of 'waitable objects': either
    integers representing file descriptors or objects with a parameterless method
-   named :meth:`fileno` returning such an integer.  The three sequences of
-   waitable objects are for input, output and 'exceptional conditions',
-   respectively.  Empty sequences are allowed, but acceptance of three empty
-   sequences is platform-dependent. (It is known to work on Unix but not on
-   Windows.)  The optional *timeout* argument specifies a time-out as a floating
-   point number in seconds.  When the *timeout* argument is omitted the function
-   blocks until at least one file descriptor is ready.  A time-out value of zero
-   specifies a poll and never blocks.
+   named :meth:`fileno` returning such an integer:
+
+   * *rlist*: wait until ready for reading
+   * *wlist*: wait until ready for writing
+   * *xlist*: wait for an "exceptional condition" (see the manual page for what
+     your system considers such a condition)
+
+   Empty sequences are allowed, but acceptance of three empty sequences is
+   platform-dependent. (It is known to work on Unix but not on Windows.)  The
+   optional *timeout* argument specifies a time-out as a floating point number
+   in seconds.  When the *timeout* argument is omitted the function blocks until
+   at least one file descriptor is ready.  A time-out value of zero specifies a
+   poll and never blocks.
 
    The return value is a triple of lists of objects that are ready: subsets of the
    first three arguments.  When the time-out is reached without a file descriptor
@@ -84,9 +89,10 @@ The module defines the following:
 
       .. index:: single: WinSock
 
-      File objects on Windows are not acceptable, but sockets are.  On Windows, the
-      underlying :cfunc:`select` function is provided by the WinSock library, and does
-      not handle file descriptors that don't originate from WinSock.
+      File objects on Windows are not acceptable, but sockets are.  On Windows,
+      the underlying :cfunc:`select` function is provided by the WinSock
+      library, and does not handle file descriptors that don't originate from
+      WinSock.
 
 
 .. _epoll-objects:
index bd927c01f76f4a3df3724fae7a6d4de3c142f673..51cc577ff03d4aad94bb9deb308ea42b6e6fd8e2 100644 (file)
@@ -215,6 +215,12 @@ Instances of the :class:`Popen` class have the following methods:
    Wait for child process to terminate.  Set and return :attr:`returncode`
    attribute.
 
+   .. warning::
+
+      This will deadlock if the child process generates enough output to a
+      stdout or stderr pipe such that it blocks waiting for the OS pipe buffer
+      to accept more data.  Use :meth:`communicate` to avoid that.
+
 
 .. method:: Popen.communicate(input=None)
 
@@ -261,6 +267,14 @@ Instances of the :class:`Popen` class have the following methods:
 
 The following attributes are also available:
 
+.. warning::
+
+   Use :meth:`communicate` rather than :meth:`.stdin.write`,
+   :meth:`.stdout.read` or :meth:`.stderr.read` to avoid deadlocks due
+   to any of the other OS pipe buffers filling up and blocking the child
+   process.
+
+
 .. attribute:: Popen.stdin
 
    If the *stdin* argument is ``PIPE``, this attribute is a file object that
index 43b0bf48be1ca73e63b4da70454bc60cbd95826b..dab97e4856c76358efcb182347d792fb010c4cc6 100644 (file)
@@ -1212,7 +1212,7 @@ their suffixes::
    (expr1, expr2, expr3, expr4)
    {expr1: expr2, expr3: expr4}
    expr1 + expr2 * (expr3 - expr4)
-   func(expr1, expr2, *expr3, **expr4)
+   expr1(expr2, expr3, *expr4, **expr5)
    expr3, expr4 = expr1, expr2
 
 
index 9959ecd74cc2f0422f49d22970454c12db6f24ce..c0ecf01292931dafd2ef7d518b2d6d5b1cebe053 100644 (file)
@@ -785,7 +785,7 @@ documentation for a :ref:`complete list <formatstrings>`; here's a sample::
         '%' - Percentage. Multiplies the number by 100 and displays
               in fixed ('f') format, followed by a percent sign.
 
-Classes and types can define a __format__ method to control how they're
+Classes and types can define a :meth:`__format__` method to control how they're
 formatted.  It receives a single argument, the format specifier::
 
    def __format__(self, format_spec):
@@ -1515,10 +1515,22 @@ Here are all of the changes that Python 2.6 makes to the core Python language.
   :func:`isnan`, return true if their floating-point argument is
   infinite or Not A Number.  (:issue:`1640`)
 
-  The float type has a new instance method :meth:`float.hex` and a
-  corresponding new class method :meth:`float.fromhex` to convert
-  floating-point numbers to and from hexadecimal strings,
-  respectively.  (:issue:`3008`)
+  Conversion functions were added to convert floating-point numbers
+  into hexadecimal strings.  (:issue:`3008`) These functions lets you
+  convert floats to and from a string representation without
+  introducing rounding errors from the conversion between decimal and
+  binary.  Floats have a :meth:`hex` method that returns a string
+  representation, and the ``float.fromhex()`` method converts a string
+  back into a number::
+
+      >>> a = 3.75
+      >>> a.hex()
+      '0x1.e000000000000p+1'
+      >>> float.fromhex('0x1.e000000000000p+1')
+      3.75
+      >>> b=1./3
+      >>> b.hex()
+      '0x1.5555555555555p-2'
 
 * The :mod:`math` module has a number of new functions, and the existing
   functions have been improved to give more consistent behaviour
@@ -1633,6 +1645,12 @@ Optimizations
   (Original optimization implemented by Armin Rigo, updated for
   Python 2.6 by Kevin Jacobs; :issue:`1700288`.)
 
+* Function calls that use keyword arguments
+  are significantly faster thanks to a patch that does a quick pointer
+  comparison, usually saving the time of a full string comparison.
+  (Contributed by Raymond Hettinger, after an initial implementation by 
+  Antoine Pitrou; :issue:`1819`.)
+
 * All of the functions in the :mod:`struct` module have been rewritten in
   C, thanks to work at the Need For Speed sprint.
   (Contributed by Raymond Hettinger.)
index 717e14e531edfd3357e7ea397d0864df2ea872d4..b6f5bde6e6d14ee3cb2cc53517c0a5fcf0c0d6fe 100644 (file)
@@ -209,7 +209,7 @@ else:
 
 class SocketListener(object):
     '''
-    Represtation of a socket which is bound to an address and listening
+    Representation of a socket which is bound to an address and listening
     '''
     def __init__(self, address, family, backlog=1):
         self._socket = socket.socket(getattr(socket, family))
index 284142431cc5be0491bb408a7c76d6a1b3cdc333..078d7faf3bacafc5b261318235269c47d1b49ee4 100644 (file)
@@ -22,7 +22,6 @@ import multiprocessing.dummy
 import multiprocessing.connection
 import multiprocessing.managers
 import multiprocessing.heap
-import multiprocessing.managers
 import multiprocessing.pool
 import _multiprocessing
 
index 126da54f05486f4c708c9d645d1df037eff93c1e..f5b157cb13f02baa6ccf9f179c8c6e55d07ca7b7 100644 (file)
@@ -20,7 +20,7 @@ Permissions History
 - Antoine Pitrou was given SVN access on July 16 2008, by recommendation
   from GvR, for general contributions to Python.
 
-- Jesse Noller was given SVN access on 16 June 2008 by Georg Brandl,
+- Jesse Noller was given SVN access on 16 June 2008 by GFB,
   for work on the multiprocessing module.
 
 - Gregor Lingl was given SVN access on 10 June 2008 by MvL,
@@ -45,13 +45,13 @@ Permissions History
   for work on branches (ast/optimizer related).
 
 - Jeroen Ruigrok van der Werven was given SVN access on 12 April 2008
-  by Georg Brandl, for documentation work.
+  by GFB, for documentation work.
 
-- Josiah Carlson was given SVN access on 26 March 2008 by Georg Brandl,
+- Josiah Carlson was given SVN access on 26 March 2008 by GFB,
   for work on asyncore/asynchat.
 
-- Benjamin Peterson was given SVN access on 25 March 2008 by Georg
-  Brandl, for bug triage work.
+- Benjamin Peterson was given SVN access on 25 March 2008 by GFB,
+  for bug triage work.
 
 - Jerry Seutter was given SVN access on 20 March 2008 by BAC, for
   general contributions to Python.
@@ -196,6 +196,12 @@ Permissions History
 Permissions Dropped on Request
 ------------------------------
 
+- Roy Smith, Matt Fleming and Richard Emslie sent drop requests.
+  4 Aug 2008 GFB
+
+- Per note from Andrew Kuchling, the permissions for Gregory K Johnson
+  and the Summer Of Code project are no longer needed.  4 Aug 2008 GFB
+
 - Per note from Andrew Kuchling, the permissions for Gregory K Johnson
   and the Summer Of Code project are no longer needed.  AMK will make
   any future checkins directly.  16 Oct 2005 RDH
@@ -235,3 +241,4 @@ RDH:  Raymond Hettinger
 TGP:  Tim Peters
 DJG:  David Goodger
 MvL:  Martin v. Loewis
+GFB:  Georg Brandl