summaryrefslogtreecommitdiff
path: root/Modules/_threadmodule.c
Commit message (Collapse)AuthorAgeFilesLines
* Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE whereverSerhiy Storchaka2017-01-231-4/+2
| | | | possible. Patch is writen with Coccinelle.
* Issue #27895: Spelling fixes (Contributed by Ville Skytt?).Martin Panter2016-09-071-1/+1
|
* Issue #18916: Update thread module docstringsBerker Peksag2016-05-021-3/+4
| | | | | | | | * Fix acquire() signature * Remove outdated help(LockType) reference * Replace PyThread_allocate_lock() with threading.Lock() Patch by Christopher Welborn.
* Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),Serhiy Storchaka2015-05-301-78/+77
|\ | | | | | | | | PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly.
| * Issue #22117: Add a new _PyTime_FromSeconds() functionVictor Stinner2015-04-031-1/+1
| | | | | | | | | | Fix also _Py_InitializeEx_Private(): initialize time before initializing import, import_init() uses the _PyTime API (for thread locks).
| * PEP 475: on EINTR, retry the function even if the timeout is equals to zeroVictor Stinner2015-03-301-1/+1
| | | | | | | | | | | | | | | | | | Retry: * signal.sigtimedwait() * threading.Lock.acquire() * threading.RLock.acquire() * time.sleep()
| * Issue #22117: Replace usage of _PyTime_ROUND_UP with _PyTime_ROUND_CEILINGVictor Stinner2015-03-301-3/+4
| | | | | | | | | | All these functions only accept positive timeouts, so this change has no effect in practice.
| * Issue #22117: The thread module uses the new _PyTime_t timestamp APIVictor Stinner2015-03-281-75/+64
| | | | | | | | | | | | | | | | | | Add also a new _PyTime_AsMicroseconds() function. threading.TIMEOUT_MAX is now be smaller: only 292 years instead of 292,271 years on 64-bit system for example. Sorry, your threads will hang a *little bit* shorter. Call me if you want to ensure that your locks wait longer, I can share some tricks with you.
| * Issue #22043: time.monotonic() is now always availableVictor Stinner2014-09-021-2/+2
| | | | | | | | | | threading.Lock.acquire(), threading.RLock.acquire() and socket operations now use a monotonic clock, instead of the system clock, when a timeout is used.
| * Issue 21137: Better repr for threading.Lock()Raymond Hettinger2014-05-251-3/+12
| |
* | Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),Serhiy Storchaka2015-05-301-6/+12
|/ | | | | PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly.
* 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-1/+1
|\
| * Issue #15422: get rid of PyCFunction_New macroAndrew Svetlov2012-12-251-1/+1
| |
* | 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 #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-2/+5
|\ \ | |/ |/|
| * 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
| |
* | #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 #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. ........