Commit Graph

133 Commits

Author SHA1 Message Date
Ezio Melotti 9a3777e525 #18705: merge with 3.3. 2013-08-17 15:53:55 +03:00
Ezio Melotti 30b9d5d3af #18705: fix a number of typos. Patch by Févry Thibault. 2013-08-17 15:50:46 +03:00
Brett Cannon cd171c8e92 Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a) 2013-07-04 17:43:24 -04:00
Brett Cannon 0a140668fa Issue #18200: Update the stdlib (except tests) to use
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Serhiy Storchaka b00b596c05 Issue #11714: Use 'with' statements to assure a Semaphore releases a
condition variable.  Original patch by Thomas Rachel.
2013-04-22 22:54:16 +03:00
Serhiy Storchaka 81a5855a27 Issue #11714: Use 'with' statements to assure a Semaphore releases a
condition variable.  Original patch by Thomas Rachel.
2013-04-22 22:51:43 +03:00
R David Murray 5cbf3a0d6e Merge #17435: Don't use mutable default values in Timer.
Patch by Denver Coneybeare with some test modifications by me.
2013-03-30 17:22:30 -04:00
R David Murray 19aeb439c6 Issue #17435: Don't use mutable default values in Timer.
Patch by Denver Coneybeare with some test modifications by me.
2013-03-30 17:19:38 -04:00
Raymond Hettinger 3030728138 Fix import 2013-03-20 19:28:19 -07:00
Raymond Hettinger b65e579926 Improve variable names 2013-03-10 20:34:16 -07:00
Raymond Hettinger ec4b174de4 Issue #17385: Fix quadratic behavior in threading.Condition 2013-03-10 17:57:28 -07:00
Raymond Hettinger 720da57159 Update code to increment and decrement using the cleaner += 1 and -= 1 style. 2013-03-10 15:13:35 -07:00
Victor Stinner ec89539ccc Issue #14428, #14397: Implement the PEP 418
* Rename time.steady() to time.monotonic()
 * On Windows, time.monotonic() uses GetTickCount/GetTickCount64() instead of
   QueryPerformanceCounter()
 * time.monotonic() uses CLOCK_HIGHRES if available
 * Add time.get_clock_info(), time.perf_counter() and time.process_time()
   functions
2012-04-29 02:41:27 +02:00
Antoine Pitrou dd5aa36f17 Issue #14308: Fix an exception when a dummy thread is in the threading module's active list after a fork(). 2012-04-20 00:05:17 +02:00
Antoine Pitrou 8e6e0fdb7f Issue #14308: Fix an exception when a "dummy" thread is in the threading module's active list after a fork(). 2012-04-19 23:55:01 +02:00
Victor Stinner 3d7c878fe3 Issue #14222: Use the new time.steady() function instead of time.time() for
timeout in queue and threading modules to not be affected of system time
update.
2012-03-15 01:22:16 +01:00
Victor Stinner 135b6d8aa5 Close #13550: Remove the debug machinery from the threading module: remove
verbose arguments from all threading classes and functions.
2012-03-03 01:32:57 +01:00
Benjamin Peterson 7bbb6e8cf9 merge 3.2 2012-02-03 19:09:38 -05:00
Benjamin Peterson 050a05aeef remove unused import 2012-02-03 19:07:30 -05:00
Charles-François Natali ded0348c08 Issue #13502: threading: Fix a race condition in Event.wait() that made it
return False when the event was set and cleared right after.
2012-01-07 18:24:56 +01:00
Charles-François Natali 6d5f9e73d9 Issue #11870: threading: Properly reinitialize threads internal locks and
condition variables to avoid deadlocks in child processes.
2011-12-18 18:35:09 +01:00
Charles-François Natali 61d28d6a74 Issue #13502: threading: Fix a race condition in Event.wait() that made it
return False when the event was set and cleared right after.
2012-01-07 18:26:39 +01:00
Charles-François Natali b055bf6acb Issue #11870: threading: Properly reinitialize threads internal locks and
condition variables to avoid deadlocks in child processes.
2011-12-18 18:45:16 +01:00
Ezio Melotti f10644983e Merge with 3.2. 2011-10-19 11:06:26 +03:00
Ezio Melotti e130a52d8a Remove duplication. 2011-10-19 10:58:56 +03:00
Benjamin Peterson 7761b951db add ThreadError to threading.__all__ (closes #12679) 2011-08-02 13:05:47 -05:00
Éric Araujo 0cdd4454f3 Remove indirection in threading (issue #10968).
The public names (Thread, Condition, etc.) used to be factory functions
returning instances of hidden classes (_Thread, _Condition, etc.),
because (if Guido recalls correctly) this code pre-dates the ability to
subclass extension types.

It is now possible to inherit from Thread and other classes, without
having to import the private underscored names like multiprocessing did.

A doc update will follow: a patch is under discussion on the issue.
2011-07-28 00:28:28 +02:00
Antoine Pitrou 428bc6c48f Issue #12573: Add resource checks for dangling Thread and Process objects. 2011-07-15 22:15:38 +02:00
Antoine Pitrou c081c0c6a0 Issue #12573: Add resource checks for dangling Thread and Process objects. 2011-07-15 22:12:24 +02:00
Victor Stinner 2a12974bca Close #12028: Make threading._get_ident() public, rename it to
threading.get_ident() and document it. This function was used by
_thread.get_ident().
2011-05-30 23:02:52 +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
Antoine Pitrou 0bd4deba38 Issue #6064: Add a `daemon` keyword argument to the threading.Thread
and multiprocessing.Process constructors in order to override the
default behaviour of inheriting the daemonic property from the current
thread/process.
2011-02-25 22:07:43 +00:00
Raymond Hettinger 5bdfd910f5 Remove out-of-date comment 2011-01-16 09:16:27 +00:00
Raymond Hettinger 5cee47f321 Add entry for Barrier objects. 2011-01-11 19:59:46 +00:00
Gregory P. Smith 9bd4a245f2 Fix the new bug introduced in the r87710 fix for issue 6643. DummyThread
deletes its _block attribute, deal with that.  This prevents an uncaught
exception in a thread during test_thread.

This refactors a bit to better match what I did in the r87727 backport to 2.7.
2011-01-04 18:33:38 +00:00
Gregory P. Smith 96c886ce96 issue6643 - Two locks held within the threading module on each thread instance
needed to be reinitialized after fork().  Adds tests to confirm that they are
and that a potential deadlock and crasher bug are fixed (platform dependant).
2011-01-03 21:06:12 +00:00
Antoine Pitrou 401edd69cf Issue #4188: Avoid creating dummy thread objects when logging operations
from the threading module (with the internal verbose flag activated).
2010-12-17 17:42:16 +00:00
Kristján Valur Jónsson 6331520950 Issue 10260
Adding the wait_for() method to threading.Condition
2010-11-18 12:46:39 +00:00
Kristján Valur Jónsson 3be00037d6 issue 8777
Add threading.Barrier
2010-10-28 09:43:10 +00:00
Georg Brandl b9a4391754 #10218: return timeout status from Condition.wait, mirroring other primitives' behavior. 2010-10-28 09:03:20 +00:00
Brett Cannon 148724d39b Rip out old testing code that was inlined in threading.
Partially closes issue 9346. Thanks Brian Brazil for the patch.
2010-07-23 15:50:02 +00:00
Antoine Pitrou 0454af9b54 Issue #850728: Add a *timeout* parameter to the `acquire()` method of
`threading.Semaphore` objects.  Original patch by Torsten Landschoff.
2010-04-17 23:51:58 +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
Senthil Kumaran fdd4d0f5d6 Merged revisions 79817 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79817 | senthil.kumaran | 2010-04-06 08:53:33 +0530 (Tue, 06 Apr 2010) | 2 lines

  Fix Issue8262 - changing RuntimeError wording to "Threads can only be started once"
........
2010-04-06 03:30:18 +00:00
Gregory P. Smith 3fdd9648cb Merged revisions 78517 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78517 | gregory.p.smith | 2010-02-28 10:36:09 -0800 (Sun, 28 Feb 2010) | 3 lines

  Issue #7481: When a threading.Thread failed to start it would leave the
  instance stuck in initial state and present in threading.enumerate().
........
2010-02-28 18:57:46 +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 b087268217 Merged revisions 76172 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76172 | antoine.pitrou | 2009-11-09 17:00:11 +0100 (lun., 09 nov. 2009) | 5 lines

  Issue #7282: Fix a memory leak when an RLock was used in a thread other
  than those started through `threading.Thread` (for example, using
  `thread.start_new_thread()`.
........
2009-11-09 16:08:16 +00:00
Antoine Pitrou bdec11fde7 Merged revisions 76117 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r76117 | antoine.pitrou | 2009-11-05 14:42:29 +0100 (jeu., 05 nov. 2009) | 5 lines

  Issue #7264: Fix a possible deadlock when deallocating thread-local objects
  which are part of a reference cycle.
........
2009-11-05 13:49:14 +00:00