diff options
author | Tim Peters <tim.peters@gmail.com> | 2006-03-21 03:58:41 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2006-03-21 03:58:41 (GMT) |
commit | 59b96c1029290822b7069634fce4628b19b2d4ca (patch) | |
tree | ddc6d1734285e2c68e80e9d849cf62f529b88cab /Misc | |
parent | 66760f87b51662d95a0d13226712d83a7ab049f8 (diff) | |
download | cpython-59b96c1029290822b7069634fce4628b19b2d4ca.zip cpython-59b96c1029290822b7069634fce4628b19b2d4ca.tar.gz cpython-59b96c1029290822b7069634fce4628b19b2d4ca.tar.bz2 |
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.
Diffstat (limited to 'Misc')
0 files changed, 0 insertions, 0 deletions