cpython/Python
Tim Peters fb1ffb0ebb SF bug 1061968: threads: segfault or Py_FatalError at exit
PyGILState_Ensure():  The fix in 2.4a3 for bug 1010677 reintroduced thread
shutdown race bug 225673.  Repaired by (once again) ensuring the GIL is
held whenever deleting a thread state.

Alas, there's no useful test case for this shy bug.  Four years ago, only
Guido could provoke it, on his box, and today only Armin can provoke it
on his box.  I've never been able to provoke it (but not for lack of
trying!).

This is a critical fix for 2.3.5 too, since the fix for 1010677 got
backported there already and so also reintroduced 225673.  I don't intend to
backport this fix.  For whoever (if anyone) does, there are other thread
fixes in 2.4 that need backporting too, and I bet they need to happen first
for this patch to apply cleanly.
2004-11-08 04:30:21 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
atof.c Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
bltinmodule.c Patch #1015021: Stop claiming that coerce can return None. 2004-08-25 10:42:41 +00:00
ceval.c SF patch 1044089: New C API function PyEval_ThreadsInitialized(), by Nick 2004-10-11 02:40:51 +00:00
codecs.c Fix a couple of signed/unsigned comparison warnings 2004-07-08 01:55:58 +00:00
compile.c SF patch 1025636: Check for NULL returns in compile.c:com_import_stmt 2004-11-07 14:04:00 +00:00
dup2.c Mass ANSIfication of function definitions. Doesn't cover all 'extern' 2000-07-22 18:47:25 +00:00
dynload_aix.c Include Python.h first which defines _XOPEN_SOURCE 2003-03-22 16:35:37 +00:00
dynload_atheos.c Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
dynload_beos.c Fix for 2002-01-23 15:51:12 +00:00
dynload_dl.c Use PyOS_snprintf instead of sprintf. 2001-11-28 20:42:20 +00:00
dynload_hpux.c Fix SF # 551504, python -v sometimes fails to find init (HPUX) 2002-11-02 20:58:05 +00:00
dynload_next.c Fix for 838140: don't call NSUnlinkModule when we fail to find our 2004-07-15 22:28:48 +00:00
dynload_os2.c Use PyOS_snprintf instead of sprintf. 2001-11-28 20:42:20 +00:00
dynload_shlib.c Print verbose messages to stderr. Fixes #1036752. 2004-10-03 08:51:35 +00:00
dynload_stub.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
dynload_win.c When importing an extension on Windows, the code reads the PE 'import 2004-07-02 08:53:57 +00:00
errors.c Changed random calls to PyThreadState_Get() to use the macro 2004-03-24 22:22:12 +00:00
exceptions.c Stop producing or using OverflowWarning. PEP 237 thought this would 2004-08-25 02:14:08 +00:00
fmod.c Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
frozen.c This is my patch 2002-08-15 14:59:02 +00:00
frozenmain.c Patch #569753: Remove support for WIN16. 2002-06-30 15:26:10 +00:00
future.c SF patch #1007189, multi-line imports, for instance: 2004-08-31 10:07:13 +00:00
getargs.c Fix 2004-08-07 17:57:16 +00:00
getcompiler.c The GCC version is loooooooooong; put it on a new line. 2000-09-05 04:40:39 +00:00
getcopyright.c forward-port 1.17.12.1 2004-05-13 11:54:19 +00:00
getcwd.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
getmtime.c Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
getopt.c Move our own getopt() implementation to _PyOS_GetOpt(), and use it 2000-11-03 08:18:37 +00:00
getplatform.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
getversion.c Use PyOS_snprintf instead of sprintf. 2001-11-28 20:42:20 +00:00
graminit.c SF patch #1007189, multi-line imports, for instance: 2004-08-31 10:07:13 +00:00
hypot.c Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
import.c SF patch #1035498: -m option to run a module as a script 2004-10-07 06:46:25 +00:00
importdl.c Patch #794826: Add __file__ in dynamically loaded modules for multiple 2003-09-04 18:45:59 +00:00
importdl.h PEP 302 + zipimport: 2002-12-30 22:08:05 +00:00
mactoolboxglue.c SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core 2004-11-05 07:02:59 +00:00
marshal.c Patch #923098: Share interned strings in marshal. 2004-06-27 16:51:46 +00:00
memmove.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
modsupport.c This is Pete Shinners' patch from his bug report 2004-07-14 11:28:06 +00:00
mysnprintf.c PyOS_vsnprintf(): Change PyMem_Malloc() call to PyMem_MALLOC() macro, 2001-12-21 16:32:15 +00:00
mystrtoul.c Getting rid of support for the ancient Apple MPW compiler. 2003-11-19 15:24:47 +00:00
pyfpe.c Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
pystate.c SF bug 1061968: threads: segfault or Py_FatalError at exit 2004-11-08 04:30:21 +00:00
pystrtod.c Patch #774665: Make Python LC_NUMERIC agnostic. 2004-06-08 18:52:54 +00:00
pythonrun.c Patch #975056 - fixes for restartable signals on *BSD. In addition, 2004-10-13 14:48:50 +00:00
sigcheck.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
strdup.c Mass ANSIfication of function definitions. Doesn't cover all 'extern' 2000-07-22 18:47:25 +00:00
strerror.c Getting rid of all the code inside #ifdef macintosh too. 2003-11-20 01:44:59 +00:00
strtod.c Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
structmember.c Getting rid of all the code inside #ifdef macintosh too. 2003-11-20 01:44:59 +00:00
symtable.c SF patch #872326: Generator expression implementation 2004-05-19 08:20:33 +00:00
sysmodule.c This is my patch: 2004-08-12 18:19:17 +00:00
thread.c find_key(): This routine wasn't thread-correct, and accounts for the 2004-10-10 01:58:44 +00:00
thread_atheos.h Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
thread_beos.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_cthread.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_foobar.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_lwp.h Remove the unused & broken PyThread_*_sema() functions and related constants. 2002-01-19 22:02:55 +00:00
thread_nt.h An Anonymous Coward on c.l.py posted a little program with bizarre 2003-07-04 04:40:45 +00:00
thread_os2.h reformat for PEP-7 style conformance 2002-12-04 12:29:37 +00:00
thread_pth.h Patch #805613: Fix usage of the PTH library. 2003-09-20 11:13:36 +00:00
thread_pthread.h This closes patch: 2004-07-07 17:44:12 +00:00
thread_sgi.h Remove support for DYNIX, IRIX 4, --with-sgi-dl, --with-dl-dld 2004-01-17 04:04:13 +00:00
thread_solaris.h Patch #716969: Detect thread creation failure. Will backport to 2.2. 2003-04-19 07:44:52 +00:00
thread_wince.h Partial patch from SF #452266, by Jason Petrone. 2001-10-16 21:13:49 +00:00
traceback.c Moved tracebackobject to traceback.h, Closes SF Bug #497067 2004-03-21 18:37:23 +00:00