summaryrefslogtreecommitdiffstats
path: root/Modules/_threadmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* threading.RLock._acquire_restore() now raises a TypeError instead of aVictor Stinner2014-01-021-3/+3
| | | | SystemError when it is not called with 2 arguments
* Issue #19512, #19515: remove shared identifiers, move identifiers where theyVictor Stinner2013-11-071-1/+3
| | | | | | | are used. Move also _Py_IDENTIFIER() defintions to the top in modified files to remove identifiers duplicated in the same file.
* Issue #19512: add some common identifiers to only create common strings once,Victor Stinner2013-11-061-1/+1
| | | | | | | instead of creating temporary Unicode string objects Add also more identifiers in pythonrun.c to avoid temporary Unicode string objets for the interactive interpreter.
* Issue #19437: Fix _threading.RLock constructor (rlock_new), callVictor Stinner2013-11-051-10/+14
| | | | | | | | | Py_DECREF(self) if PyThread_allocate_lock() failed instead of calling directly type->tp_free(self), to keep the chained list of objects consistent when Python is compiled in debug mode fails, don't consume the row (restore it) and fail immediatly (don't call pysqlite_step())
* Issue #18808: Thread.join() now waits for the underlying thread state to be ↵Antoine Pitrou2013-09-071-0/+62
| | | | | | destroyed before returning. This prevents unpredictable aborts in Py_EndInterpreter() when some non-daemon threads are still running.
* merge #17091: update docstring for _thread.Lock.acquire.R David Murray2013-02-041-2/+2
|\
| * merge #17091: update docstring for _thread.Lock.acquire.R David Murray2013-02-041-2/+2
| |\
| | * #17091: update docstring for _thread.Lock.acquire.R David Murray2013-02-041-2/+2
| | | | | | | | | | | | | | | | | | The main docs were fixed to remove mention of None long ago, but the docstring was not. Reported by Armin Rigo, patch by Ian Cordasco.
* | | Issue #15422: get rid of PyCFunction_New macroAndrew Svetlov2012-12-251-1/+1
|/ /
* | Issue #15124: Optimize _thread.LockType deletion and acquisition whenKristjan Valur Jonsson2012-06-221-21/+17
| | | | | | | | not contested, similar to what _thread.RLock already has.
* | merge 3.2Benjamin Peterson2012-04-021-0/+3
|\ \ | |/
| * prevent writing to stderr from messing up the exception state (closes #14474)Benjamin Peterson2012-04-021-0/+3
| |
* | Merge 3.2Éric Araujo2011-06-011-1/+1
|\ \ | |/
| * Fix error message to use the Python name instead of the C nameÉric Araujo2011-05-311-1/+1
| |
* | Issue #11223: Replace threading._info() by sys.thread_infoVictor Stinner2011-04-301-13/+0
| |
* | Issue #11915: threading.RLock()._release_save() raises a RuntimeError if theVictor Stinner2011-04-241-0/+6
| | | | | | | | lock was not acquired.
* | Issue #11223: Add threading._info() function providing informations about theVictor Stinner2011-04-191-7/+17
| | | | | | | | | | | | | | | | | | 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).
* | #11515: Merge with 3.2.Ezio Melotti2011-03-151-1/+1
|\ \ | |/
| * #11515: Merge with 3.1.Ezio Melotti2011-03-151-1/+1
| |\
| | * #11515: fix several typos. Patch by Piotr Kasprzyk.Ezio Melotti2011-03-151-1/+1
| | |
| | * Merged revisions 84344 via svnmerge fromAntoine Pitrou2010-08-281-43/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ........
| | * Merged revisions 84106 via svnmerge fromAlexander Belopolsky2010-08-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ........
| | * Merged revisions 83918 via svnmerge fromAntoine Pitrou2010-08-091-45/+224
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ........
| | * Recorded merge of revisions 81032 via svnmerge fromAntoine Pitrou2010-05-091-471/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ........ ................
| | * Merged revisions 78639 via svnmerge fromVictor Stinner2010-03-031-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ........ ................
| | * Merged revisions 78611 via svnmerge fromVictor Stinner2010-03-031-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ........ ................
| | * Merged revisions 75125 via svnmerge fromPhilip Jenvey2009-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ........ ................
* | | Issue #11408: In threading.Lock.acquire(), only call gettimeofday() whenAntoine Pitrou2011-03-061-2/+2
| | | | | | | | | | | | really necessary. Patch by Charles-François Natali.
* | | Issue #11140: Lock.release() now raises a RuntimeError when attemptingAntoine Pitrou2011-02-281-1/+3
| | | | | | | | | | | | | | | to release an unacquired lock, as claimed in the threading documentation. The _thread.error exception is now an alias of RuntimeError.
* | | Issue #8914: fix various warnings from the Clang static analyzer v254.Brett Cannon2011-02-221-1/+2
|/ /
* | Issue #8844: Regular and recursive lock acquisitions can now be interruptedAntoine Pitrou2010-12-151-13/+67
| | | | | | | | by signals on platforms using pthreads. Patch by Reid Kleckner.
* | Issue #1868: Eliminate subtle timing issues in thread-local objects byAntoine Pitrou2010-08-281-43/+38
| | | | | | | | getting rid of the cached copy of thread-local attribute dictionary.
* | Issue #8983: Corrected docstrings.Alexander Belopolsky2010-08-161-1/+1
| |
* | Issue #3757: thread-local objects now support cyclic garbage collection.Antoine Pitrou2010-08-091-45/+224
| | | | | | | | | | Thread-local objects involved in reference cycles will be deallocated timely by the cyclic GC, even if the underlying thread is still running.
* | Recorded merge of revisions 81029 via svnmerge fromAntoine Pitrou2010-05-091-715/+715
| | | | | | | | | | | | | | | | | | | | 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. ........
* | Issue #7316: the acquire() method of lock objects in the :mod:`threading`Antoine Pitrou2010-04-141-14/+75
| | | | | | | | | | | | 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.
* | Merged revisions 78638 via svnmerge fromVictor Stinner2010-03-031-2/+10
| | | | | | | | | | | | | | | | | | | | | | 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. ........
* | Merged revisions 78610 via svnmerge fromVictor Stinner2010-03-031-8/+9
| | | | | | | | | | | | | | | | | | | | | | 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. ........
* | Merged revisions 78393 via svnmerge fromAmaury Forgeot d'Arc2010-02-241-16/+0
| | | | | | | | | | | | | | | | | | | | 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. ........
* | Issue #3001: Add a C implementation of recursive locks which is used byAntoine Pitrou2009-11-101-0/+273
| | | | | | | | | | | | 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).
* | Merged revisions 75969 via svnmerge fromAntoine Pitrou2009-10-301-2/+8
| | | | | | | | | | | | | | | | | | | | | | 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. ........
* | Merged revisions 75958 via svnmerge fromAntoine Pitrou2009-10-301-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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(). ........
* | Merged revisions 74524 via svnmerge fromBenjamin Peterson2009-10-101-1/+6
| | | | | | | | | | | | | | | | | | | | 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. ........
* | rollback the merge of r74524 because it causes failures in test_multiprocessingBenjamin Peterson2009-10-091-7/+2
| |
* | Merged revisions 74524,74556 via svnmerge fromBenjamin Peterson2009-10-041-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ........
* | Recorded merge of revisions 75123 via svnmerge fromPhilip Jenvey2009-09-291-1/+1
|/ | | | | | | | | | | | 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 ........
* Issue #1717: rename tp_compare to tp_reserved. I'll change theMark Dickinson2009-02-021-2/+2
| | | | | type of tp_compare in a separate commit, for ease of reversion should things go wrong.
* #3247 Get rid of Py_FindMethod; use tp_members instead.Amaury Forgeot d'Arc2008-07-021-7/+19
| | | | | | | 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.
* Merged revisions 64601 via svnmerge fromBenjamin Peterson2008-06-301-1/+4
| | | | | | | | | | | | | | | | | | | 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. ........
* Implement PEP 3121: new module initialization and finalization API.Martin v. Löwis2008-06-111-6/+20
|