Dong-hee Na
44046fe4fc
bpo-37804: Remove the deprecated method threading.Thread.isAlive() (GH-15225)
2019-08-12 19:41:08 +02:00
Ronald Oussoren
1a057bab0f
bpo-18049: Sync thread stack size to main thread size on macOS (GH-14748)
...
This changeset increases the default size of the stack
for threads on macOS to the size of the stack
of the main thread and reenables the relevant
recursion test.
2019-08-01 07:43:07 +02:00
Min ho Kim
c4cacc8c5e
Fix typos in comments, docs and test names ( #15018 )
...
* Fix typos in comments, docs and test names
* Update test_pyparse.py
account for change in string length
* Apply suggestion: splitable -> splittable
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Apply suggestion: splitable -> splittable
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Apply suggestion: Dealloccte -> Deallocate
Co-Authored-By: Terry Jan Reedy <tjreedy@udel.edu>
* Update posixmodule checksum.
* Reverse idlelib changes.
2019-07-30 18:16:13 -04:00
Victor Stinner
066e5b1a91
bpo-37266: Daemon threads are now denied in subinterpreters (GH-14049)
...
In a subinterpreter, spawning a daemon thread now raises an
exception. Daemon threads were never supported in subinterpreters.
Previously, the subinterpreter finalization crashed with a Pyton
fatal error if a daemon thread was still running.
* Add _thread._is_main_interpreter()
* threading.Thread.start() now raises RuntimeError if the thread is a
daemon thread and the method is called from a subinterpreter.
* The _thread module now uses Argument Clinic for the new function.
* Use textwrap.dedent() in test_threading.SubinterpThreadingTests
2019-06-14 18:55:22 +02:00
Victor Stinner
6f75c87375
tbpo-36402: Fix threading.Thread._stop() (GH-14047)
...
Remove the _tstate_lock from _shutdown_locks, don't remove None.
2019-06-13 12:06:24 +02:00
Victor Stinner
468e5fec8a
bpo-36402: Fix threading._shutdown() race condition (GH-13948)
...
Fix a race condition at Python shutdown when waiting for threads.
Wait until the Python thread state of all non-daemon threads get
deleted (join all non-daemon threads), rather than just wait until
Python threads complete.
* Add threading._shutdown_locks: set of Thread._tstate_lock locks
of non-daemon threads used by _shutdown() to wait until all Python
thread states get deleted. See Thread._set_tstate_lock().
* Add also threading._shutdown_locks_lock to protect access to
threading._shutdown_locks.
* Add test_finalization_shutdown() test.
2019-06-13 01:30:17 +02:00
Victor Stinner
cdce0574d0
bpo-36829: test_threading: Fix a ref cycle (GH-13752)
2019-06-02 23:08:41 +02:00
Victor Stinner
cd590a7ced
bpo-1230540: Add threading.excepthook() (GH-13515)
...
Add a new threading.excepthook() function which handles uncaught
Thread.run() exception. It can be overridden to control how uncaught
exceptions are handled.
threading.ExceptHookArgs is not documented on purpose: it should not
be used directly.
* threading.excepthook() and threading.ExceptHookArgs.
* Add _PyErr_Display(): similar to PyErr_Display(), but accept a
'file' parameter.
* Add _thread._excepthook(): C implementation of the exception hook
calling _PyErr_Display().
* Add _thread._ExceptHookArgs: structseq type.
* Add threading._invoke_excepthook_wrapper() which handles the gory
details to ensure that everything remains alive during Python
shutdown.
* Add unit tests.
2019-05-28 00:39:52 +02:00
Matěj Cepl
608876b6b1
bpo-23395: Fix PyErr_SetInterrupt if the SIGINT signal is ignored or not handled (GH-7778)
...
``_thread.interrupt_main()`` now avoids setting the Python error status if the ``SIGINT`` signal is ignored or not handled by Python.
2019-05-23 22:30:00 +02:00
Jake Tesler
b121f63155
bpo-36084: Add native thread ID (TID) to threading.Thread (GH-13463)
...
Add native thread ID (TID) to threading.Thread objects
(supported platforms: Windows, FreeBSD, Linux, macOS).
2019-05-22 17:43:16 +02:00
Victor Stinner
d12e75734d
Revert "bpo-36084: Add native thread ID to threading.Thread objects (GH-11993)" (GH-13458)
...
This reverts commit 4959c33d25
.
2019-05-21 12:44:57 +02:00
Jake Tesler
4959c33d25
bpo-36084: Add native thread ID to threading.Thread objects (GH-11993)
2019-05-12 19:08:24 +02:00
Serhiy Storchaka
5b10b98247
bpo-22831: Use "with" to avoid possible fd leaks in tests (part 2). (GH-10929)
2019-03-05 10:06:26 +02:00
Dong-hee Na
89669ffe10
bpo-35283: Add deprecation warning for Thread.isAlive (GH-11454)
...
Add a deprecated warning for the threading.Thread.isAlive() method.
2019-01-17 13:14:45 +01:00
Zackery Spytz
65d2f8c044
bpo-31516: Skip test_main_thread_during_shutdown() with COUNT_ALLOCS builds. (GH-8052)
2018-10-12 11:31:21 +03:00
Victor Stinner
13ff24582c
bpo-32593: Drop FreeBSD 9 and older support ( #5232 )
...
Drop support of FreeBSD 9 and older.
2018-01-22 18:32:50 +01:00
Victor Stinner
8c663fd60e
Replace KB unit with KiB ( #4293 )
...
kB (*kilo* byte) unit means 1000 bytes, whereas KiB ("kibibyte")
means 1024 bytes. KB was misused: replace kB or KB with KiB when
appropriate.
Same change for MB and GB which become MiB and GiB.
Change the output of Tools/iobench/iobench.py.
Round also the size of the documentation from 5.5 MB to 5 MiB.
2017-11-08 14:44:44 -08:00
luzpaz
a5293b4ff2
Fix miscellaneous typos ( #4275 )
2017-11-05 15:37:50 +02:00
Antoine Pitrou
1023dbbcb7
bpo-31516: current_thread() should not return a dummy thread at shutdown ( #3673 )
...
bpo-31516: current_thread() should not return a dummy thread at shutdown
2017-10-02 16:42:15 +02:00
Victor Stinner
da3e5cf961
bpo-31234: Join timers in test_threading ( #3598 )
...
Call the .join() method of threading.Timer timers to prevent the
"threading_cleanup() failed to cleanup 1 threads" warning.
2017-09-15 05:37:42 -07:00
Victor Stinner
ff40ecda73
bpo-31234: Add test.support.wait_threads_exit() ( #3578 )
...
Use _thread.count() to wait until threads exit. The new context
manager prevents the "dangling thread" warning.
2017-09-14 13:07:24 -07:00
Victor Stinner
b8c7be2c52
bpo-31234: Join threads in test_threading ( #3579 )
...
Call thread.join() to prevent the "dangling thread" warning.
2017-09-14 13:05:21 -07:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Victor Stinner
3d284c081f
bpo-31234: test_threading: fix ref cycle ( #3150 )
...
test_bare_raise_in_brand_new_thread() now explicitly breaks a
reference cycle to not leak a dangling thread.
2017-08-19 01:54:42 +02:00
Victor Stinner
f8d05b3a24
bpo-30387: Fix warning in test_threading ( #1634 )
...
test_is_alive_after_fork() now joins directly the thread to avoid the
following warning added by bpo-30357:
Warning -- threading_cleanup() failed to cleanup 0 threads
after 2 sec (count: 0, dangling: 21)
Use also a different exit code to catch generic exit code 1.
2017-05-17 11:58:50 -07:00
Serhiy Storchaka
aefa7ebf0f
bpo-6532: Make the thread id an unsigned integer. ( #781 )
...
* bpo-6532: Make the thread id an unsigned integer.
From C API side the type of results of PyThread_start_new_thread() and
PyThread_get_thread_ident(), the id parameter of
PyThreadState_SetAsyncExc(), and the thread_id field of PyThreadState
changed from "long" to "unsigned long".
* Restore a check in thread_get_ident().
2017-03-23 14:48:39 +01:00
Xiang Zhang
f3a9faba4b
bpo-29376: Fix assertion error in threading._DummyThread.is_alive() (GH-236)
2017-02-27 11:01:30 +08:00
Xavier de Gaye
cb9ab0f50b
Issue #26941 : Fix test_threading that hangs on the Android armv7 qemu emulator.
2016-12-08 12:21:00 +01:00
Victor Stinner
0a6996d87d
Merge 3.5 (fix raise)
2016-08-18 18:14:15 +02:00
Victor Stinner
eec9331b20
Fix SystemError in "raise" statement
...
Issue #27558 : Fix a SystemError in the implementation of "raise" statement.
In a brand new thread, raise a RuntimeError since there is no active
exception to reraise.
Patch written by Xiang Zhang.
2016-08-18 18:13:10 +02:00
Serhiy Storchaka
bae75cf3fe
Issue #19527 : Fixed tests with defined COUNT_ALLOCS.
2016-07-03 22:30:49 +03:00
Serhiy Storchaka
a793037d80
Issue #19527 : Fixed tests with defined COUNT_ALLOCS.
2016-07-03 22:27:26 +03:00
Serhiy Storchaka
a6f26c1d34
Remove more unused imports in tests.
2016-04-25 00:05:30 +03:00
Serhiy Storchaka
e437a10d15
Issue #23277 : Remove unused imports in tests.
2016-04-24 21:41:02 +03:00
Serhiy Storchaka
b6a9c9761c
Issue #26778 : Fixed "a/an/and" typos in code comment, documentation and error
...
messages.
2016-04-17 09:39:28 +03:00
Serhiy Storchaka
6a7b3a77b4
Issue #26778 : Fixed "a/an/and" typos in code comment and documentation.
2016-04-17 08:32:47 +03:00
Serhiy Storchaka
c877658d1f
Issue #20556 : Used specific assert methods in threading tests.
2016-03-14 10:40:14 +02:00
Serhiy Storchaka
8c0f0c5c1e
Issue #20556 : Used specific assert methods in threading tests.
2016-03-14 10:28:59 +02:00
Martin Panter
19e69c5a20
Issue #23883 : Add missing APIs to __all__; patch by Jacek Kołodziej
2015-11-14 12:46:42 +00:00
Yury Selivanov
f488fb422a
Issue #19235 : Add new RecursionError exception. Patch by Georg Brandl.
2015-07-03 01:04:23 -04:00
Berker Peksag
ce643913a9
Issue #9517 : Move script_helper to the support package.
...
Patch by Christie Wilson.
2015-05-06 06:33:17 +03:00
Berker Peksag
4882cacab6
Issue #23943 : Fix typos. Patch by Piotr Kasprzyk.
2015-04-14 09:30:01 +03:00
Serhiy Storchaka
52005c2e13
Issue #22423 : Unhandled exception in thread no longer causes unhandled
...
AttributeError when sys.stderr is None.
2014-09-21 22:08:13 +03:00
Victor Stinner
933538edde
Issue #20526 , #19466 : Revert changes of issue #19466 which introduces a
...
regression: don't clear anymore the state of Python threads early during the
Python shutdown.
2014-02-13 12:48:54 +01:00
Serhiy Storchaka
f28ba369dd
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:10:55 +02:00
Serhiy Storchaka
5cfc79deae
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:06:39 +02:00
Victor Stinner
1310510793
Issue #14432 : Generator now clears the borrowed reference to the thread state
...
Fix a crash when a generator is created in a C thread that is destroyed while
the generator is still used. The issue was that a generator contains a frame,
and the frame kept a reference to the Python state of the destroyed C thread.
The crash occurs when a trace function is setup.
2013-12-13 02:17:29 +01:00
Victor Stinner
fdeb6ec45a
Issue #14432 : Remove the thread state field from the frame structure. Fix a
...
crash when a generator is created in a C thread that is destroyed while the
generator is still used. The issue was that a generator contains a frame, and
the frame kept a reference to the Python state of the destroyed C thread. The
crash occurs when a trace function is setup.
2013-12-13 02:01:38 +01:00
Victor Stinner
ed3b0bca3e
Issue #18874 : Implement the PEP 454 (tracemalloc)
2013-11-23 12:27:24 +01:00
Victor Stinner
45956b9a33
Close #19466 : Clear the frames of daemon threads earlier during the Python
...
shutdown to call objects destructors. So "unclosed file" resource warnings are
now corretly emitted for daemon threads.
2013-11-12 16:37:55 +01:00
Tim Peters
3d1b7a0c10
Whitespace normalization.
2013-10-08 21:29:27 -05:00
Tim Peters
e99bdb9694
Issue 19158: a rare race in BoundedSemaphore could allow .release() too often.
2013-10-08 21:12:58 -05:00
Tim Peters
7634e1cf90
Issue 19158: a rare race in BoundedSemaphore could allow .release() too often.
2013-10-08 20:55:51 -05:00
Antoine Pitrou
77e904e6a6
Issue #18948 : improve SuppressCoreFiles to include Windows crash popup suppression, and use it in more tests.
...
Patch by Valerie Lambert and Zachary Ware.
2013-10-08 23:04:32 +02:00
Tim Peters
72460fa68b
Get "stopped" back into repr(Thread) when appropriate.
...
Due to recent changes, a Thread doesn't know that it's over before
someone calls .join() or .is_alive(). That meant repr(Thread)
continued to include "started" (and not "stopped") before one of
those methods was called, even if hours passed since the thread
ended.
Repaired that.
2013-09-09 18:48:24 -05:00
Tim Peters
c363a23eff
Issue 18984: Remove ._stopped Event from Thread internals.
...
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.
2013-09-08 18:44:40 -05:00
Antoine Pitrou
5da7e7959e
Issue #18808 again: fix the after-fork logic for not-yet-started or already-stopped threads.
...
(AFAICT, in theory, we must reset all the locks, not just those in use)
2013-09-08 13:19:06 +02:00
Antoine Pitrou
7b4769937f
Issue #18808 : Thread.join() now waits for the underlying thread state to be destroyed before returning.
...
This prevents unpredictable aborts in Py_EndInterpreter() when some non-daemon threads are still running.
2013-09-07 23:38:37 +02:00
Andrew Svetlov
58b5c5ad14
Issue #18882 : Add threading.main_thread() function.
2013-09-04 07:01:07 +03:00
Antoine Pitrou
625eed765a
test_threading isn't rudimentary anymore
2013-09-01 19:52:08 +02:00
Antoine Pitrou
4c8ce847e6
test_threading isn't rudimentary anymore
2013-09-01 19:51:49 +02:00
Charles-François Natali
79a53ea7d7
Issue #18418 : After fork(), reinit all threads states, not only active ones.
...
Patch by A. Jesse Jiryu Davis.
2013-08-30 23:34:26 +02:00
Charles-François Natali
9939cc89a4
Issue #18418 : After fork(), reinit all threads states, not only active ones.
...
Patch by A. Jesse Jiryu Davis.
2013-08-30 23:32:53 +02:00
Antoine Pitrou
7eaf3f7080
Issue #18808 : Non-daemon threads are now automatically joined when a sub-interpreter is shutdown (it would previously dump a fatal error).
2013-08-25 19:48:18 +02:00
Antoine Pitrou
8408cea0cd
Issue #17094 : Clear stale thread states after fork().
...
Note that this is a potentially disruptive change since it may
release some system resources which would otherwise remain
perpetually alive (e.g. database connections kept in thread-local
storage).
2013-05-05 23:47:09 +02:00
Łukasz Langa
20ea96f29a
backported rev 79713 from 3.4, test_recursion_limit skipped for -O0
2013-04-24 01:29:26 +02: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
Stefan Krah
bfc02452a3
Merge 3.3.
2013-01-17 23:36:08 +01:00
Stefan Krah
fc4aa76d59
Issue #11870 : Skip test_3_join_in_forked_from_thread() on HP-UX.
2013-01-17 23:29:54 +01:00
Benjamin Peterson
d541d3fee4
When not optimized function stack sizes are much larger and may cause this test to fail.
2012-10-13 11:46:44 -04:00
Jesus Cea
4791a24268
#16135 : Removal of OS/2 support (Python code partial cleanup)
2012-10-05 03:15:39 +02:00
Antoine Pitrou
a9effcd802
Better diagnose test failure
2012-06-29 19:40:54 +02:00
Antoine Pitrou
b8b6a68baa
Better diagnose test failure
2012-06-29 19:40:35 +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
Charles-François Natali
9384c7ddab
Issue #13902 : Fix a random test_threading failure on FreeBSD 6 buildbots (due
...
to a known bug in pthread implementation on FreeBSD < 7).
2012-03-24 20:37:01 +01:00
Charles-François Natali
8e6fe648cc
Issue #13902 : Fix a random test_threading failure on FreeBSD 6 buildbots (due
...
to a known bug in pthread implementation on FreeBSD < 7).
2012-03-24 20:36:09 +01:00
Charles-François Natali
b2c9e9ad91
Skip test_threading.test_reinit_tls_after_fork() on platforms where fork()
...
can't be called reliably from a worker thread.
2012-02-08 21:29:11 +01:00
Charles-François Natali
6f91ce74a0
Skip test_threading.test_reinit_tls_after_fork() on platforms where fork()
...
can't be called reliably from a worker thread.
2012-02-08 21:30:02 +01:00
Charles-François Natali
3f32fc87ad
Merge.
2012-02-02 20:38:10 +01:00
Charles-François Natali
6d0d24e359
Issue #13817 : After fork(), reinit the ad-hoc TLS implementation earlier to fix
...
a random deadlock when fork() is called in a multithreaded process in debug
mode, and make PyOS_AfterFork() more robust.
2012-02-02 20:31:42 +01:00
Charles-François Natali
9ab91c60b2
Issue #13894 : Skip test_threading.CRLockTests if _CRLock isn't available. Patch
...
by Matt Joiner.
2012-01-28 11:37:42 +01:00
Charles-François Natali
6b671b2591
Issue #13894 : Skip test_threading.CRLockTests if _CRLock isn't available. Patch
...
by Matt Joiner.
2012-01-28 11:36:04 +01:00
Victor Stinner
2555b0aac7
(merge 3.2) Issue #11870 : Skip test_threading.test_2_join_in_forked_process()
...
on platforms with known OS bugs
Share the list of platforms with known OS bugs with other tests. Patch written
by Charles-François Natali.
2011-07-01 14:53:07 +02:00
Victor Stinner
26d318690f
Issue #11870 : Skip test_threading.test_2_join_in_forked_process() on platforms
...
with known OS bugs
Share the list of platforms with known OS bugs with other tests. Patch written
by Charles-François Natali.
2011-07-01 14:26:24 +02:00
Victor Stinner
2f655b73e4
(merge 3.2) Issue #12451 : Open files in binary mode in some tests when the text
...
file is not needed.
Remove also an unused variable (blank) in test_threading.
2011-06-30 18:21:39 +02:00
Victor Stinner
a6d2c769fb
Issue #12451 : Open files in binary mode in some tests when the text file is not
...
needed.
Remove also an unused variable (blank) in test_threading.
2011-06-30 18:20:11 +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
Ned Deily
61be422bd7
Issue #9670 : Increase the default stack size for secondary threads on
...
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
(patch by Ronald Oussoren)
2011-05-28 00:45:52 -07:00
Ned Deily
056f5b9dad
Issue #9670 : Increase the default stack size for secondary threads on
...
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
(patch by Ronald Oussoren)
2011-05-28 00:36:12 -07:00
Ned Deily
9a7c524dc6
Issue #9670 : Increase the default stack size for secondary threads on
...
Mac OS X and FreeBSD to reduce the chances of a crash instead of a
"maximum recursion depth" RuntimeError exception.
(patch by Ronald Oussoren)
2011-05-28 00:19:56 -07:00
Antoine Pitrou
b596dc7c86
Merge: Use shared testing facilities in test_threading
2011-05-05 20:18:19 +02:00
Antoine Pitrou
c4d7864e0e
Use shared testing facilities in test_threading
2011-05-05 20:17:32 +02:00
Antoine Pitrou
fc20b0c65c
Issue #1856 : Avoid crashes and lockups when daemon threads run while the
...
interpreter is shutting down; instead, these threads are now killed when
they try to take the GIL.
2011-05-04 20:04:29 +02:00
Antoine Pitrou
0d5e52d346
Issue #1856 : Avoid crashes and lockups when daemon threads run while the
...
interpreter is shutting down; instead, these threads are now killed when
they try to take the GIL.
2011-05-04 20:02:30 +02:00
Victor Stinner
d5c355ccc7
Issue #11223 : Replace threading._info() by sys.thread_info
2011-04-30 14:53:09 +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
Ned Deily
4e6aba6f63
Issue9670: Merge backout from 3.2.
2011-04-09 14:58:04 -07:00
Ned Deily
2604e33f30
Issue9670: Merge backout to 3.2.
2011-04-09 14:53:47 -07:00