Commit Graph

43 Commits

Author SHA1 Message Date
Kristjan Valur Jonsson
69cf913ba1 Issue #15124: Optimize _thread.LockType deletion and acquisition when
not contested, similar to what _thread.RLock already has.
2012-06-22 18:40:02 +00:00
Benjamin Peterson
dba1b40b60 merge 3.2 2012-04-02 11:28:49 -04:00
Benjamin Peterson
e900096dc4 prevent writing to stderr from messing up the exception state (closes #14474) 2012-04-02 11:15:17 -04:00
Éric Araujo
5397c797f4 Merge 3.2 2011-06-01 19:47:24 +02:00
Éric Araujo
9bcf8bfb24 Fix error message to use the Python name instead of the C name 2011-05-31 14:08:26 +02:00
Victor Stinner
d5c355ccc7 Issue #11223: Replace threading._info() by sys.thread_info 2011-04-30 14:53:09 +02:00
Victor Stinner
c2824d41c3 Issue #11915: threading.RLock()._release_save() raises a RuntimeError if the
lock was not acquired.
2011-04-24 23:41:33 +02:00
Victor Stinner
754851f456 Issue #11223: Add threading._info() function providing informations about the
thread implementation.

Skip test_lock_acquire_interruption() and test_rlock_acquire_interruption() of
test_threadsignals if a thread lock is implemented using a POSIX mutex and a
POSIX condition variable. A POSIX condition variable cannot be interrupted by a
signal (e.g. on Linux, the futex system call is restarted).
2011-04-19 23:58:51 +02:00
Ezio Melotti
4969f709cc #11515: Merge with 3.1. 2011-03-15 05:59:46 +02:00
Ezio Melotti
42da663e6f #11515: fix several typos. Patch by Piotr Kasprzyk. 2011-03-15 05:18:48 +02:00
Ezio Melotti
373089239b #11515: Merge with 3.2. 2011-03-15 06:03:08 +02:00
Antoine Pitrou
125d5c8770 Issue #11408: In threading.Lock.acquire(), only call gettimeofday() when
really necessary.  Patch by Charles-François Natali.
2011-03-06 08:40:35 +01:00
Antoine Pitrou
fcf81fd031 Issue #11140: Lock.release() now raises a RuntimeError when attempting
to release an unacquired lock, as claimed in the threading documentation.
The _thread.error exception is now an alias of RuntimeError.
2011-02-28 22:03:34 +00:00
Brett Cannon
b94767ff44 Issue #8914: fix various warnings from the Clang static analyzer v254. 2011-02-22 20:15:44 +00:00
Antoine Pitrou
810023db3e Issue #8844: Regular and recursive lock acquisitions can now be interrupted
by signals on platforms using pthreads.  Patch by Reid Kleckner.
2010-12-15 22:59:16 +00:00
Antoine Pitrou
fcd2a7960c Merged revisions 84344 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84344 | antoine.pitrou | 2010-08-28 20:17:03 +0200 (sam., 28 août 2010) | 4 lines

  Issue #1868: Eliminate subtle timing issues in thread-local objects by
  getting rid of the cached copy of thread-local attribute dictionary.
........
2010-08-28 18:27:09 +00:00
Antoine Pitrou
1a9a9d5433 Issue #1868: Eliminate subtle timing issues in thread-local objects by
getting rid of the cached copy of thread-local attribute dictionary.
2010-08-28 18:17:03 +00:00
Alexander Belopolsky
102594f7ff Merged revisions 84106 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84106 | alexander.belopolsky | 2010-08-16 16:17:07 -0400 (Mon, 16 Aug 2010) | 1 line

  Issue #8983: Corrected docstrings.
........
2010-08-16 20:26:04 +00:00
Alexander Belopolsky
977a684c94 Issue #8983: Corrected docstrings. 2010-08-16 20:17:07 +00:00
Antoine Pitrou
87d5260362 Merged revisions 83918 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83918 | antoine.pitrou | 2010-08-10 00:38:19 +0200 (mar., 10 août 2010) | 5 lines

  Issue #3757: thread-local objects now support cyclic garbage collection.
  Thread-local objects involved in reference cycles will be deallocated
  timely by the cyclic GC, even if the underlying thread is still running.
........
2010-08-09 22:41:38 +00:00
Antoine Pitrou
5af4f4b983 Issue #3757: thread-local objects now support cyclic garbage collection.
Thread-local objects involved in reference cycles will be deallocated
timely by the cyclic GC, even if the underlying thread is still running.
2010-08-09 22:38:19 +00:00
Antoine Pitrou
7f14f0d8a0 Recorded merge of revisions 81032 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r81032 | antoine.pitrou | 2010-05-09 17:52:27 +0200 (dim., 09 mai 2010) | 9 lines

  Recorded merge of revisions 81029 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines

    Untabify C files. Will watch buildbots.
  ........
................
2010-05-09 16:14:21 +00:00
Antoine Pitrou
f95a1b3c53 Recorded merge of revisions 81029 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines

  Untabify C files. Will watch buildbots.
........
2010-05-09 15:52:27 +00:00
Antoine Pitrou
7c3e577395 Issue #7316: the acquire() method of lock objects in the :mod:threading
module now takes an optional timeout argument in seconds.  Timeout support
relies on the system threading library, so as to avoid a semi-busy wait
loop.
2010-04-14 15:44:10 +00:00
Victor Stinner
ef32bc8569 Merged revisions 78639 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r78639 | victor.stinner | 2010-03-04 00:28:07 +0100 (jeu., 04 mars 2010) | 10 lines

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

  ........
    r78638 | victor.stinner | 2010-03-04 00:20:25 +0100 (jeu., 04 mars 2010) | 3 lines

    Issue #7544: Preallocate thread memory before creating the thread to avoid a
    fatal error in low memory condition.
  ........
................
2010-03-03 23:32:07 +00:00
Victor Stinner
45b9be52de Merged revisions 78638 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78638 | victor.stinner | 2010-03-04 00:20:25 +0100 (jeu., 04 mars 2010) | 3 lines

  Issue #7544: Preallocate thread memory before creating the thread to avoid a
  fatal error in low memory condition.
........
2010-03-03 23:28:07 +00:00
Victor Stinner
5774043795 Merged revisions 78611 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r78611 | victor.stinner | 2010-03-03 01:50:12 +0100 (mer., 03 mars 2010) | 10 lines

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

  ........
    r78610 | victor.stinner | 2010-03-03 01:43:44 +0100 (mer., 03 mars 2010) | 3 lines

    Issue #3299: fix thread.allocate_lock() error handler, replace PyObject_Del()
    by Py_DECREF() to fix a crash in pydebug mode.
  ........
................
2010-03-03 00:51:28 +00:00
Victor Stinner
8f3216a069 Merged revisions 78610 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78610 | victor.stinner | 2010-03-03 01:43:44 +0100 (mer., 03 mars 2010) | 3 lines

  Issue #3299: fix thread.allocate_lock() error handler, replace PyObject_Del()
  by Py_DECREF() to fix a crash in pydebug mode.
........
2010-03-03 00:50:12 +00:00
Amaury Forgeot d'Arc
72aee3dcab Merged revisions 78393 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78393 | amaury.forgeotdarc | 2010-02-24 00:19:39 +0100 (mer., 24 févr. 2010) | 2 lines

  #4852: Remove dead code in every thread implementation, unused for many years.
........
2010-02-24 00:10:48 +00:00
Antoine Pitrou
434736a1a6 Issue #3001: Add a C implementation of recursive locks which is used by
default when instantiating a `Threading.RLock` object. This makes
recursive locks as fast as regular non-recursive locks (previously,
they were slower by 10x to 15x).
2009-11-10 18:46:01 +00:00
Antoine Pitrou
9257f5eece Merged revisions 75969 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75969 | antoine.pitrou | 2009-10-30 23:19:09 +0100 (ven., 30 oct. 2009) | 5 lines

  Remove official documentation entry for thread._count() and make the
  docstring more descriptive instead.
........
2009-10-30 22:23:02 +00:00
Antoine Pitrou
65c9c6426b Merged revisions 75958 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75958 | antoine.pitrou | 2009-10-30 18:07:08 +0100 (ven., 30 oct. 2009) | 7 lines

  Issue #7222: Make thread "reaping" more reliable so that reference
  leak-chasing test runs give sensible results. The previous method of
  reaping threads could return successfully while some Thread objects were
  still referenced. This also introduces a new private function:
  :func:hread._count().
........
2009-10-30 17:25:12 +00:00
Benjamin Peterson
bec4d57a39 Merged revisions 74524 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74524 | gregory.p.smith | 2009-08-20 04:39:38 -0500 (Thu, 20 Aug 2009) | 2 lines

  Add weakref support to the thread.lock type.
........
2009-10-10 01:16:07 +00:00
Benjamin Peterson
fe51a1f204 rollback the merge of r74524 because it causes failures in test_multiprocessing 2009-10-09 20:36:25 +00:00
Benjamin Peterson
9a779ea98e Merged revisions 74524,74556 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74524 | gregory.p.smith | 2009-08-20 04:39:38 -0500 (Thu, 20 Aug 2009) | 2 lines

  Add weakref support to the thread.lock type.
........
  r74556 | kristjan.jonsson | 2009-08-27 17:20:21 -0500 (Thu, 27 Aug 2009) | 2 lines

  issue 6275
  Add an "exc_value" attribute to the _AssertRaisesContext context manager in the unittest package.  This allows further tests on the exception that was raised after the context manager exits.
........
2009-10-04 20:07:34 +00:00
Philip Jenvey
962b05c3a9 Merged revisions 75125 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r75125 | philip.jenvey | 2009-09-28 21:57:18 -0700 (Mon, 28 Sep 2009) | 11 lines

  Recorded merge of revisions 75123 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r75123 | philip.jenvey | 2009-09-28 21:32:44 -0700 (Mon, 28 Sep 2009) | 4 lines

    #6990: clear threading.local's key only after its thread state is removed:
    fixes local subclasses leaving old state around after a ref cycle GC which
    could be recycled by new locals
  ........
................
2009-09-29 05:03:48 +00:00
Philip Jenvey
26713cade1 Recorded merge of revisions 75123 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75123 | philip.jenvey | 2009-09-28 21:32:44 -0700 (Mon, 28 Sep 2009) | 4 lines

  #6990: clear threading.local's key only after its thread state is removed:
  fixes local subclasses leaving old state around after a ref cycle GC which
  could be recycled by new locals
........
2009-09-29 04:57:18 +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
Amaury Forgeot d'Arc
e43d33a4db #3247 Get rid of Py_FindMethod; use tp_members instead.
Otherwise dir(_sre.SRE_Match) returns an empty list.

First step: handle most occurrences, remove tp_getattr and fill the tp_methods and tp_members slots.
Add some test about attribute access.
2008-07-02 20:50:16 +00:00
Benjamin Peterson
8a250aeb21 Merged revisions 64601 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r64601 | amaury.forgeotdarc | 2008-06-30 17:42:40 -0500 (Mon, 30 Jun 2008) | 11 lines

  #Issue3088 in-progress: Race condition with instances of classes derived from threading.local:

  When a thread touches such an object for the first time, a new thread-local __dict__ is created,
  and the __init__ method is run.
  But a thread switch can occur here; if the other thread touches the same object, it installs another
  __dict__; when the first thread resumes, it updates the dictionary of the second...

  This is the deep cause of the failures in test_multiprocessing involving "managers" objects.

  Also a 2.5 backport candidate.
........
2008-06-30 23:30:24 +00:00
Martin v. Löwis
1a21451b1d Implement PEP 3121: new module initialization and finalization API. 2008-06-11 05:26:20 +00:00
Georg Brandl
0a7ac7d70d Create the dbm package from PEP 3108. #2881. 2008-05-26 10:29:35 +00:00
Georg Brandl
2067bfdf25 Rename thread to _thread and dummy_thread to _dummy_thread. Issue #2875. 2008-05-25 13:05:15 +00:00