Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Issue 18984: Remove ._stopped Event from Thread internals. | Tim Peters | 2013-09-08 | 1 | -30/+29 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix for issue 18808 left us checking two things to be sure a Thread was done: an Event (._stopped) and a mutex (._tstate_lock). Clumsy & brittle. This patch removes the Event, leaving just a happy lock :-) The bulk of the patch removes two excruciating tests, which were verifying sanity of the internals of the ._stopped Event after a fork. Thanks to Antoine Pitrou for verifying that's the only real value these tests had. One consequence of moving from an Event to a mutex: waiters (threads calling Thread.join()) used to block each on their own unique mutex (internal to the ._stopped event), but now all contend on the same mutex (._tstate_lock). These approaches have different performance characteristics on different platforms. I don't think it matters in this context. | |||||
* | | Issue #18808 again: fix the after-fork logic for not-yet-started or ↵ | Antoine Pitrou | 2013-09-08 | 1 | -9/+7 | |
| | | | | | | | | | | | | already-stopped threads. (AFAICT, in theory, we must reset all the locks, not just those in use) | |||||
* | | Issue 18808: blind attempt to repair some buildbot failures. | Tim Peters | 2013-09-08 | 1 | -1/+6 | |
| | | | | | | | | | | | | | | test_is_alive_after_fork is failing on some old Linux kernels, but passing on all newer ones. Since virtually anything can go wrong with locks when mixing threads with fork, replace the most likely cause with a redundant simple data member. | |||||
* | | Issue #18808: Thread.join() now waits for the underlying thread state to be ↵ | Antoine Pitrou | 2013-09-07 | 1 | -32/+55 | |
| | | | | | | | | | | | | destroyed before returning. This prevents unpredictable aborts in Py_EndInterpreter() when some non-daemon threads are still running. | |||||
* | | Add docstring for threading.main_thread(). | Andrew Svetlov | 2013-09-04 | 1 | -0/+5 | |
| | | ||||||
* | | Issue #18882: Add threading.main_thread() function. | Andrew Svetlov | 2013-09-04 | 1 | -16/+20 | |
| | | ||||||
* | | Issue #18418: After fork(), reinit all threads states, not only active ones. | Charles-François Natali | 2013-08-30 | 1 | -1/+1 | |
|\ \ | |/ | | | | | Patch by A. Jesse Jiryu Davis. | |||||
| * | Issue #18418: After fork(), reinit all threads states, not only active ones. | Charles-François Natali | 2013-08-30 | 1 | -1/+1 | |
| | | | | | | | | Patch by A. Jesse Jiryu Davis. | |||||
* | | #18705: merge with 3.3. | Ezio Melotti | 2013-08-17 | 1 | -1/+1 | |
|\ \ | |/ | ||||||
| * | #18705: fix a number of typos. Patch by Févry Thibault. | Ezio Melotti | 2013-08-17 | 1 | -1/+1 | |
| | | ||||||
* | | Issue #18200: Back out usage of ModuleNotFoundError (8d28d44f3a9a) | Brett Cannon | 2013-07-04 | 1 | -3/+3 | |
| | | ||||||
* | | Issue #18200: Update the stdlib (except tests) to use | Brett Cannon | 2013-06-14 | 1 | -3/+3 | |
| | | | | | | | | ModuleNotFoundError. | |||||
* | | Issue #11714: Use 'with' statements to assure a Semaphore releases a | Serhiy Storchaka | 2013-04-22 | 1 | -20/+18 | |
|\ \ | |/ | | | | | condition variable. Original patch by Thomas Rachel. | |||||
| * | Issue #11714: Use 'with' statements to assure a Semaphore releases a | Serhiy Storchaka | 2013-04-22 | 1 | -20/+18 | |
| | | | | | | | | condition variable. Original patch by Thomas Rachel. | |||||
* | | Merge #17435: Don't use mutable default values in Timer. | R David Murray | 2013-03-30 | 1 | -4/+4 | |
|\ \ | |/ | | | | | Patch by Denver Coneybeare with some test modifications by me. | |||||
| * | Issue #17435: Don't use mutable default values in Timer. | R David Murray | 2013-03-30 | 1 | -4/+4 | |
| | | | | | | | | Patch by Denver Coneybeare with some test modifications by me. | |||||
* | | Fix import | Raymond Hettinger | 2013-03-21 | 1 | -2/+1 | |
| | | ||||||
* | | Improve variable names | Raymond Hettinger | 2013-03-11 | 1 | -5/+5 | |
| | | ||||||
* | | Issue #17385: Fix quadratic behavior in threading.Condition | Raymond Hettinger | 2013-03-11 | 1 | -2/+8 | |
| | | ||||||
* | | Update code to increment and decrement using the cleaner += 1 and -= 1 style. | Raymond Hettinger | 2013-03-10 | 1 | -4/+4 | |
|/ | ||||||
* | Issue #14428, #14397: Implement the PEP 418 | Victor Stinner | 2012-04-29 | 1 | -1/+5 | |
| | | | | | | | | | * 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 | |||||
* | Issue #14308: Fix an exception when a dummy thread is in the threading ↵ | Antoine Pitrou | 2012-04-19 | 1 | -0/+3 | |
|\ | | | | | | | module's active list after a fork(). | |||||
| * | Issue #14308: Fix an exception when a "dummy" thread is in the threading ↵ | Antoine Pitrou | 2012-04-19 | 1 | -0/+3 | |
| | | | | | | | | module's active list after a fork(). | |||||
* | | Issue #14222: Use the new time.steady() function instead of time.time() for | Victor Stinner | 2012-03-15 | 1 | -1/+1 | |
| | | | | | | | | | | timeout in queue and threading modules to not be affected of system time update. | |||||
* | | Close #13550: Remove the debug machinery from the threading module: remove | Victor Stinner | 2012-03-03 | 1 | -134/+18 | |
| | | | | | | | | verbose arguments from all threading classes and functions. | |||||
* | | merge 3.2 | Benjamin Peterson | 2012-02-04 | 1 | -1/+0 | |
|\ \ | |/ | ||||||
| * | remove unused import | Benjamin Peterson | 2012-02-04 | 1 | -1/+0 | |
| | | ||||||
* | | Issue #13502: threading: Fix a race condition in Event.wait() that made it | Charles-François Natali | 2012-01-07 | 1 | -3/+4 | |
|\ \ | |/ | | | | | return False when the event was set and cleared right after. | |||||
| * | Issue #13502: threading: Fix a race condition in Event.wait() that made it | Charles-François Natali | 2012-01-07 | 1 | -3/+4 | |
| | | | | | | | | return False when the event was set and cleared right after. | |||||
| * | Issue #11870: threading: Properly reinitialize threads internal locks and | Charles-François Natali | 2011-12-18 | 1 | -7/+4 | |
| | | | | | | | | condition variables to avoid deadlocks in child processes. | |||||
* | | Issue #11870: threading: Properly reinitialize threads internal locks and | Charles-François Natali | 2011-12-18 | 1 | -7/+4 | |
| | | | | | | | | condition variables to avoid deadlocks in child processes. | |||||
* | | Merge with 3.2. | Ezio Melotti | 2011-10-19 | 1 | -1/+1 | |
|\ \ | |/ | ||||||
| * | Remove duplication. | Ezio Melotti | 2011-10-19 | 1 | -1/+1 | |
| | | ||||||
* | | add ThreadError to threading.__all__ (closes #12679) | Benjamin Peterson | 2011-08-02 | 1 | -1/+1 | |
| | | ||||||
* | | Remove indirection in threading (issue #10968). | Éric Araujo | 2011-07-27 | 1 | -22/+7 | |
| | | | | | | | | | | | | | | | | | | | | | | | | 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. | |||||
* | | Issue #12573: Add resource checks for dangling Thread and Process objects. | Antoine Pitrou | 2011-07-15 | 1 | -0/+4 | |
|\ \ | |/ | ||||||
| * | Issue #12573: Add resource checks for dangling Thread and Process objects. | Antoine Pitrou | 2011-07-15 | 1 | -0/+4 | |
| | | ||||||
* | | Close #12028: Make threading._get_ident() public, rename it to | Victor Stinner | 2011-05-30 | 1 | -11/+10 | |
| | | | | | | | | | | threading.get_ident() and document it. This function was used by _thread.get_ident(). | |||||
* | | Issue #11223: Replace threading._info() by sys.thread_info | Victor Stinner | 2011-04-30 | 1 | -2/+1 | |
| | | ||||||
* | | Issue #11915: threading.RLock()._release_save() raises a RuntimeError if the | Victor Stinner | 2011-04-24 | 1 | -0/+2 | |
| | | | | | | | | lock was not acquired. | |||||
* | | Issue #11223: Add threading._info() function providing informations about the | Victor Stinner | 2011-04-19 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | | | | | 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). | |||||
* | | Issue #6064: Add a `daemon` keyword argument to the threading.Thread | Antoine Pitrou | 2011-02-25 | 1 | -14/+7 | |
|/ | | | | | | and multiprocessing.Process constructors in order to override the default behaviour of inheriting the daemonic property from the current thread/process. | |||||
* | Remove out-of-date comment | Raymond Hettinger | 2011-01-16 | 1 | -4/+0 | |
| | ||||||
* | Add entry for Barrier objects. | Raymond Hettinger | 2011-01-11 | 1 | -3/+2 | |
| | ||||||
* | Fix the new bug introduced in the r87710 fix for issue 6643. DummyThread | Gregory P. Smith | 2011-01-04 | 1 | -4/+13 | |
| | | | | | | | 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. | |||||
* | issue6643 - Two locks held within the threading module on each thread instance | Gregory P. Smith | 2011-01-03 | 1 | -0/+4 | |
| | | | | | 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). | |||||
* | Issue #4188: Avoid creating dummy thread objects when logging operations | Antoine Pitrou | 2010-12-17 | 1 | -2/+8 | |
| | | | | from the threading module (with the internal verbose flag activated). | |||||
* | Issue 10260 | Kristján Valur Jónsson | 2010-11-18 | 1 | -7/+32 | |
| | | | | Adding the wait_for() method to threading.Condition | |||||
* | issue 8777 | Kristján Valur Jónsson | 2010-10-28 | 1 | -0/+172 | |
| | | | | Add threading.Barrier | |||||
* | #10218: return timeout status from Condition.wait, mirroring other ↵ | Georg Brandl | 2010-10-28 | 1 | -0/+2 | |
| | | | | primitives' behavior. |