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