]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Merge rev 43181 from the trunk.
authorTim Peters <tim.peters@gmail.com>
Tue, 28 Mar 2006 07:09:33 +0000 (07:09 +0000)
committerTim Peters <tim.peters@gmail.com>
Tue, 28 Mar 2006 07:09:33 +0000 (07:09 +0000)
commit1d250001f5d298ec2e295aa9dadbad008eac3939
tree5bd1d99cd14eb8898eec0b9edc643c35ed9dedc5
parente77ff2a9efe67f4c28dd13a76a6ada651b2d5634
Merge rev 43181 from the trunk.

Try to repair at least one segfault on the Mac buildbot,
as diagnosed by Nick Coghlan.

test_capi.py:  A test module should never spawn a thread as
a side effect of being imported.  Because this one did, the
segfault one of its thread tests caused didn't occur until
a few tests after test_regrtest.py thought test_capi was
finished.  Repair that.  Also join() the thread spawned
at the end, so that test_capi is truly finished when
regrtest reports that it's done.

_testcapimodule.c test_thread_state():  this spawns a
couple of non-threading.py threads, passing them a PyObject*
argument, but did nothing to ensure that those threads
finished before returning.  As a result, the PyObject*
_could_ (although this was unlikely) get decref'ed out of
existence before the threads got around to using it.
Added explicit synchronization (via a Python mutex) so
that test_thread_state can reliably wait for its spawned
threads to finish.
Lib/test/test_capi.py
Modules/_testcapimodule.c