Commit Graph

356 Commits

Author SHA1 Message Date
Benjamin Peterson
5183856c17 Merged revisions 75246 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r75246 | benjamin.peterson | 2009-10-04 15:32:25 -0500 (Sun, 04 Oct 2009) | 29 lines

  Merged revisions 74841 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r74841 | thomas.wouters | 2009-09-16 14:55:54 -0500 (Wed, 16 Sep 2009) | 23 lines


    Fix issue #1590864, multiple threads and fork() can cause deadlocks, by
    acquiring the import lock around fork() calls. This prevents other threads
    from having that lock while the fork happens, and is the recommended way of
    dealing with such issues. There are two other locks we care about, the GIL
    and the Thread Local Storage lock. The GIL is obviously held when calling
    Python functions like os.fork(), and the TLS lock is explicitly reallocated
    instead, while also deleting now-orphaned TLS data.

    This only fixes calls to os.fork(), not extension modules or embedding
    programs calling C's fork() directly. Solving that requires a new set of API
    functions, and possibly a rewrite of the Python/thread_*.c mess. Add a
    warning explaining the problem to the documentation in the mean time.

    This also changes behaviour a little on AIX. Before, AIX (but only AIX) was
    getting the import lock reallocated, seemingly to avoid this very same
    problem. This is not the right approach, because the import lock is a
    re-entrant one, and reallocating would do the wrong thing when forking while
    holding the import lock.

    Will backport to 2.6, minus the tiny AIX behaviour change.
  ........
................
2009-10-04 20:35:30 +00:00
Georg Brandl
01a30523f9 Merged revisions 74264 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k

................
  r74264 | alexandre.vassalotti | 2009-07-29 22:12:15 +0200 (Mi, 29 Jul 2009) | 32 lines

  Merged revisions 74075,74187,74197,74201,74216,74225 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r74075 | georg.brandl | 2009-07-18 05:06:31 -0400 (Sat, 18 Jul 2009) | 1 line

    #6505: fix typos.
  ........
    r74187 | benjamin.peterson | 2009-07-23 10:19:08 -0400 (Thu, 23 Jul 2009) | 1 line

    use bools for autoraise
  ........
    r74197 | benjamin.peterson | 2009-07-24 22:03:48 -0400 (Fri, 24 Jul 2009) | 1 line

    clarify
  ........
    r74201 | amaury.forgeotdarc | 2009-07-25 12:22:06 -0400 (Sat, 25 Jul 2009) | 2 lines

    Better name a variable: 'buf' seems to imply a mutable buffer.
  ........
    r74216 | michael.foord | 2009-07-26 17:12:14 -0400 (Sun, 26 Jul 2009) | 1 line

    Issue 6581. Michael Foord
  ........
    r74225 | kurt.kaiser | 2009-07-27 12:09:28 -0400 (Mon, 27 Jul 2009) | 5 lines

    1. Clean workspace more thoughly before build.
    2. Add url of branch we are building to 'results' webpage.
       (url is now available in $repo_path, could be added to failure email.)
    3. Adjust permissions to improve upload reliability.
  ........
................
2009-08-13 08:37:59 +00:00
R. David Murray
07fc01f9ef Merged revisions 74058 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r74058 | alexandre.vassalotti | 2009-07-17 06:55:50 -0400 (Fri, 17 Jul 2009) | 36 lines

  Merged revisions 73870,73879,73899-73900,73905-73906 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r73870 | r.david.murray | 2009-07-06 21:06:13 -0400 (Mon, 06 Jul 2009) | 5 lines

    Issue 6070: when creating a compiled file, after copying the mode bits, on
    posix zap the execute bit in case it was set on the .py file, since the
    compiled files are not directly executable on posix.  Patch by Marco N.
  ........
    r73879 | r.david.murray | 2009-07-07 05:54:16 -0400 (Tue, 07 Jul 2009) | 3 lines

    Update issue 6070 patch to match the patch that was actually tested
    on Windows.
  ........
    r73899 | r.david.murray | 2009-07-08 21:43:41 -0400 (Wed, 08 Jul 2009) | 3 lines

    Conditionalize test cleanup code to eliminate traceback, which will
    hopefully reveal the real problem.
  ........
    r73900 | r.david.murray | 2009-07-08 22:06:17 -0400 (Wed, 08 Jul 2009) | 2 lines

    Make test work with -O.
  ........
    r73905 | r.david.murray | 2009-07-09 09:55:44 -0400 (Thu, 09 Jul 2009) | 3 lines

    Specify umask in execute bit test to get consistent results
    and make sure we test resetting all three execute bits.
  ........
    r73906 | r.david.murray | 2009-07-09 11:35:33 -0400 (Thu, 09 Jul 2009) | 5 lines

    Curdir needs to be in the path for the test to work on all buildbots.
    (I copied this from another import test, but currently this will fail if
    TESTFN ends up in /tmp...see issue 2609).
  ........
................
2009-07-19 01:59:05 +00:00
Brett Cannon
a826f32054 Merged revisions 71031 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r71031 | brett.cannon | 2009-04-01 20:17:39 -0700 (Wed, 01 Apr 2009) | 6 lines

  PyImport_AppendInittab() took a char * as a first argument even though that
  string was stored beyond the life of the call. Changed the signature to be
  const char * to help make this point.

  Closes issue #1419652.
........
2009-04-02 03:41:46 +00:00
Kristján Valur Jónsson
92af5d9fec Fix a leaking "pathname" in import.c 2009-03-31 17:47:50 +00:00
Kristján Valur Jónsson
e1b0445ff9 get_file() no longer leaks a FILE structure. If given a file descriptor, it calls dup() to get a new handle. Then both the FILE object and the fd can be closed.
This is important, because otherwise, the leaked FILE object will be closed on process exit, causing assertions on Windows, e.g. in the test_multiprocessing.py regression test.
2009-03-31 17:43:39 +00:00
Guido van Rossum
0ad59d467d Issue #5604: non-ASCII characters in module name passed to
imp.find_module() were converted to UTF-8 while the path is
converted to the default filesystem encoding, causing nonsense.
Thanks to Andrew Svetlov.

(This time to the right branch.  Will block duplicate merge to 3.0.2.)
2009-03-30 22:01:35 +00:00
Brett Cannon
8d11013169 Implement InspectLoader for FrozenImporter. 2009-03-15 02:20:16 +00:00
Brett Cannon
3c2ac448ec Fix a typo in a comment. 2009-03-08 20:49:47 +00:00
Hirokazu Yamamoto
4f447fb9a1 Issue #5273: Fixed import failure on unicode path. (especially on windows) 2009-03-04 01:52:10 +00:00
Jeffrey Yasskin
9de7ec7868 http://bugs.python.org/issue4715
This patch by Antoine Pitrou optimizes the bytecode for conditional branches by
merging the following "POP_TOP" instruction into the conditional jump.  For
example, the list comprehension "[x for x in l if not x]" produced the
following bytecode:

  1           0 BUILD_LIST               0
              3 LOAD_FAST                0 (.0)
        >>    6 FOR_ITER                23 (to 32)
              9 STORE_FAST               1 (x)
             12 LOAD_FAST                1 (x)
             15 JUMP_IF_TRUE            10 (to 28)
             18 POP_TOP
             19 LOAD_FAST                1 (x)
             22 LIST_APPEND              2
             25 JUMP_ABSOLUTE            6
        >>   28 POP_TOP
             29 JUMP_ABSOLUTE            6
        >>   32 RETURN_VALUE

but after the patch it produces the following bytecode:

  1           0 BUILD_LIST               0
              3 LOAD_FAST                0 (.0)
        >>    6 FOR_ITER                18 (to 27)
              9 STORE_FAST               1 (x)
             12 LOAD_FAST                1 (x)
             15 POP_JUMP_IF_TRUE         6
             18 LOAD_FAST                1 (x)
             21 LIST_APPEND              2
             24 JUMP_ABSOLUTE            6
        >>   27 RETURN_VALUE

Notice that not only the code is shorter, but the conditional jump
(POP_JUMP_IF_TRUE) jumps right to the start of the loop instead of going through
the JUMP_ABSOLUTE at the end. "continue" statements are helped
similarly.

Furthermore, the old jump opcodes (JUMP_IF_FALSE, JUMP_IF_TRUE) have been
replaced by two new opcodes:
- JUMP_IF_TRUE_OR_POP, which jumps if true and pops otherwise
- JUMP_IF_FALSE_OR_POP, which jumps if false and pops otherwise
2009-02-25 02:25:04 +00:00
Mark Dickinson
e94c679df0 Issue #1717: rename tp_compare to tp_reserved. I'll change the
type of tp_compare in a separate commit, for ease of reversion
should things go wrong.
2009-02-02 20:36:42 +00:00
Hirokazu Yamamoto
90eaaf623a Issue #5041: Fixed memory leak. 2009-01-30 03:15:05 +00:00
Kristján Valur Jónsson
92cb438448 Issue 3677: Release the path string on py3k 2009-01-24 10:33:25 +00:00
Hirokazu Yamamoto
21cbf5f896 Merged revisions 68457 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68457 | kristjan.jonsson | 2009-01-10 05:10:59 +0900 | 1 line

  Issue 3677:  Fix import from UNC paths on Windows.
........
2009-01-23 07:23:03 +00:00
Antoine Pitrou
d35cbf6e61 Merged revisions 68360-68361 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68360 | antoine.pitrou | 2009-01-06 19:10:47 +0100 (mar., 06 janv. 2009) | 7 lines

  Issue #1180193: When importing a module from a .pyc (or .pyo) file with
  an existing .py counterpart, override the co_filename attributes of all
  code objects if the original filename is obsolete (which can happen if the
  file has been renamed, moved, or if it is accessed through different paths).
  Patch by Ziga Seilnacht and Jean-Paul Calderone.
........
  r68361 | antoine.pitrou | 2009-01-06 19:34:08 +0100 (mar., 06 janv. 2009) | 3 lines

  Use shutil.rmtree rather than os.rmdir.
........
2009-01-06 19:02:24 +00:00
Martin v. Löwis
ffe431d8bd Merged revisions 68203 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r68203 | martin.v.loewis | 2009-01-03 18:19:26 +0100 (Sa, 03 Jan 2009) | 2 lines

  Issue #4817: Remove unused function PyOS_GetLastModificationTime.
........
2009-01-03 17:22:40 +00:00
Antoine Pitrou
f289ae6f01 Merged revisions 67818 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r67818 | antoine.pitrou | 2008-12-17 01:38:28 +0100 (mer., 17 déc. 2008) | 3 lines

  Issue #2183: Simplify and optimize bytecode for list comprehensions.
........
2008-12-18 11:06:25 +00:00
Amaury Forgeot d'Arc
9a5499b4e5 #3705: Command-line arguments were not correctly decoded when the
terminal does not use UTF8.

Now the code propagates the unicode string as far as possible, and avoids
the conversion to char* which implicitely uses utf-8.

Reviewed by Benjamin.
2008-11-11 23:04:59 +00:00
Benjamin Peterson
d968e27581 fix #4211: the __path__ of a frozen package should be a list.
Patch by Brett Cannon, review by Christian Heimes.
2008-11-05 22:48:33 +00:00
Amaury Forgeot d'Arc
8530e8590f Revert r33661, which broke all buildbots. 2008-09-09 07:28:22 +00:00
Amaury Forgeot d'Arc
14b785192b #3705: Fix crash when given a non-ascii value on the command line for the "-c" and "-m" parameters
Second part, for Windows.

Reviewed by Antoine Pitrou
2008-09-09 07:04:36 +00:00
Amaury Forgeot d'Arc
1b933ed50a #3773: Check for errors around the use of PyTokenizer_FindEncoding().
reviewed by Brett Cannon.
2008-09-04 22:34:09 +00:00
Benjamin Peterson
ad9565338c Fix a memory leak in reloading extension modules #3667
Reviewer: Barry Warsaw
2008-09-04 02:28:15 +00:00
Benjamin Peterson
3e4f055602 Merged revisions 66045,66048-66049,66053,66060,66062-66063,66065,66067,66071-66074,66080,66082-66083,66090-66093,66097-66099,66103,66105,66110,66118 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r66045 | andrew.kuchling | 2008-08-26 19:27:18 -0500 (Tue, 26 Aug 2008) | 1 line

  Trim whitespace; add a few updates
........
  r66048 | andrew.kuchling | 2008-08-26 19:45:02 -0500 (Tue, 26 Aug 2008) | 1 line

  Add an item and a note
........
  r66049 | andrew.kuchling | 2008-08-26 21:12:18 -0500 (Tue, 26 Aug 2008) | 1 line

  Add various items
........
  r66053 | georg.brandl | 2008-08-28 04:40:18 -0500 (Thu, 28 Aug 2008) | 2 lines

  #3711: .dll isn't a valid Python extension anymore.
........
  r66060 | armin.rigo | 2008-08-29 16:21:52 -0500 (Fri, 29 Aug 2008) | 3 lines

  A collection of crashers, all variants of the idea
  of issue #3720.
........
  r66062 | georg.brandl | 2008-08-30 04:49:36 -0500 (Sat, 30 Aug 2008) | 2 lines

  #3730: mention "server" attribute explicitly.
........
  r66063 | georg.brandl | 2008-08-30 04:52:44 -0500 (Sat, 30 Aug 2008) | 2 lines

  #3716: fix typo.
........
  r66065 | georg.brandl | 2008-08-30 05:03:09 -0500 (Sat, 30 Aug 2008) | 2 lines

  #3569: eval() also accepts "exec"able code objects.
........
  r66067 | georg.brandl | 2008-08-30 08:17:39 -0500 (Sat, 30 Aug 2008) | 2 lines

  super() actually returns a super object.
........
  r66071 | andrew.kuchling | 2008-08-30 10:19:57 -0500 (Sat, 30 Aug 2008) | 1 line

  Partial edits from revision and tidying pass
........
  r66072 | andrew.kuchling | 2008-08-30 10:21:23 -0500 (Sat, 30 Aug 2008) | 1 line

  Tidy up some sentences
........
  r66073 | andrew.kuchling | 2008-08-30 10:25:47 -0500 (Sat, 30 Aug 2008) | 1 line

  Correction from Antoine Pitrou: BufferedWriter and Reader support seek()
........
  r66074 | andrew.kuchling | 2008-08-30 11:44:54 -0500 (Sat, 30 Aug 2008) | 1 line

  Edit four more sections
........
  r66080 | georg.brandl | 2008-08-30 17:00:28 -0500 (Sat, 30 Aug 2008) | 2 lines

  Fix markup.
........
  r66082 | andrew.kuchling | 2008-08-30 17:56:54 -0500 (Sat, 30 Aug 2008) | 1 line

  More edits; markup fixes
........
  r66083 | andrew.kuchling | 2008-08-30 21:24:08 -0500 (Sat, 30 Aug 2008) | 1 line

  More edits
........
  r66090 | andrew.kuchling | 2008-08-31 09:29:31 -0500 (Sun, 31 Aug 2008) | 1 line

  Edit the library section, rearranging items to flow better and making lots of edits
........
  r66091 | andrew.kuchling | 2008-08-31 10:41:48 -0500 (Sun, 31 Aug 2008) | 1 line

  Last batch of edits; remove the 'other changes' section
........
  r66092 | andrew.kuchling | 2008-08-31 10:48:44 -0500 (Sun, 31 Aug 2008) | 1 line

  Update patch/bug count
........
  r66093 | gregory.p.smith | 2008-08-31 11:34:18 -0500 (Sun, 31 Aug 2008) | 3 lines

  issue3715: docstring representation of hex escaped string needs to be double
  escaped.
........
  r66097 | benjamin.peterson | 2008-09-01 09:13:43 -0500 (Mon, 01 Sep 2008) | 4 lines

  #3703 unhelpful _fileio.FileIO error message when trying to open a directory

  Reviewer: Gregory P. Smith
........
  r66098 | georg.brandl | 2008-09-01 09:15:55 -0500 (Mon, 01 Sep 2008) | 2 lines

  #3749: fix c'n'p errors.
........
  r66099 | benjamin.peterson | 2008-09-01 09:18:30 -0500 (Mon, 01 Sep 2008) | 4 lines

  Fix compilation when --without-threads is given #3683

  Reviewer: Georg Brandl, Benjamin Peterson
........
  r66103 | vinay.sajip | 2008-09-01 09:30:10 -0500 (Mon, 01 Sep 2008) | 1 line

  logging: fixed lack of use of encoding attribute specified on a stream.
........
  r66105 | vinay.sajip | 2008-09-01 09:33:59 -0500 (Mon, 01 Sep 2008) | 1 line

  logging: fixed lack of use of encoding attribute specified on a stream.
........
  r66110 | vinay.sajip | 2008-09-01 10:08:07 -0500 (Mon, 01 Sep 2008) | 1 line

  Added section about configuring logging in a library. Thanks to Thomas Heller for the idea.
........
  r66118 | vinay.sajip | 2008-09-01 12:44:14 -0500 (Mon, 01 Sep 2008) | 1 line

  Bug #3738: Documentation is now more accurate in describing handler close methods.
........
2008-09-02 00:31:15 +00:00