cpython/Modules
Guido van Rossum 62320c9b9b # (My first checkin from Windows NT using remote CVS!)
There were some serious problem with the thread-safety code.
The basic problem was that often the result was gotten out of
the Tcl interpreter object after releasing the Tcl lock.
Of course, another thread might have changed the return value
already, and this was indeed happening.  (Amazing what trying
it on a different thread implementation does!)

The solution is to grab the Python lock without releasing the
Tcl lock, so it's safe to create a string object or set the
exceptions from the Tcl interpreter.  Once that's done, the
Tcl lock is released.

Note that it's now legal to acquire the Python lock while the
the Tcl lock is held; but the reverse is not true: the Python
lock must be released before the Tcl lock is acquired.  This
in order to avoid deadlines.  Fortunately, there don't seem to
be any problems with this.
1998-06-15 04:36:09 +00:00
..
_cursesmodule.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
_localemodule.c Type casts, and added a strdup() declaration for the Mac. 1998-04-28 16:08:19 +00:00
_tkinter.c # (My first checkin from Windows NT using remote CVS!) 1998-06-15 04:36:09 +00:00
almodule.c New version by Sjoerd, with support for IRIX 6 audio library. 1997-04-03 17:06:32 +00:00
arraymodule.c Added buffer_info() method that returns address and length in bytes of 1997-08-12 14:55:56 +00:00
audioop.c Purported fixes for 64-bit platforms with help from John Jorgensen 1998-04-23 20:23:00 +00:00
binascii.c Converted to new exception style (Jack) 1997-10-08 15:26:07 +00:00
bsddbmodule.c Make new gcc -Wall happy 1998-04-10 22:27:42 +00:00
cdmodule.c Oops, forgot one. 1997-10-01 04:43:39 +00:00
cgen.py Keep gcc -Wall happy. 1997-04-29 21:34:16 +00:00
cgensupport.c Moved here from ../Python and quickly renamed. 1997-04-29 15:43:55 +00:00
cgensupport.h Moved rename2's macros relevant to this module here and added comment 1997-04-29 15:35:28 +00:00
clmodule.c lots of "goto error" replaced by "return" (Jack) 1997-10-08 15:26:28 +00:00
cmathmodule.c New form of PyFPE_END_PROTECT macro. 1997-03-14 04:32:50 +00:00
config.c.in Renamed inittab. 1997-04-29 20:31:59 +00:00
cPickle.c Use PyErr_ExceptionMatches(...) instead of PyErr_Occurred() == ... in two 1998-05-28 04:33:37 +00:00
cryptmodule.c renamed grandly. 1996-12-09 23:14:26 +00:00
cStringIO.c Module docstring indicated seek() isn't implemented, but it is. 1998-04-11 19:54:54 +00:00
cstubs Generate the clear() method manually (calling __GLclear(), another 1998-04-28 16:09:16 +00:00
dbmmodule.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
dlmodule.c Fix mysterious undetected error -- call to non-existant Py_Err_SetStr() 1997-12-16 23:58:15 +00:00
errnomodule.c Got rid of the errorstr dictionary, which is redundant now that 1997-11-04 20:22:24 +00:00
fcntlmodule.c Keep gcc -Wall happy 1997-08-15 02:52:08 +00:00
flmodule.c Keep gcc -Wall happy. 1997-04-29 21:34:16 +00:00
fmmodule.c Renamed, but not tested. Guido will you try your test script on this? 1997-01-17 16:08:55 +00:00
fpectlmodule.c Patch by Oliver Andrich for Lunix using glibc. 1997-12-15 18:07:10 +00:00
fpetestmodule.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
gdbmmodule.c Don't allow unescaped newlines in doc strings. 1998-04-13 18:11:55 +00:00
getbuildinfo.c Include macbuildno.h here (mac only) (Jack) 1997-10-08 15:26:56 +00:00
getpath.c When following symlinks to the real executable, use a loop so a 1998-04-29 21:07:06 +00:00
glmodule.c Hm. What was previously checked in was the edited *output* of the old 1997-04-29 15:46:43 +00:00
grpmodule.c Nailed a couple of memory leaks, caught by Purify. 1997-01-09 22:22:05 +00:00
imageop.c Purported fixes for 64-bit platforms with help from John Jorgensen 1998-04-23 20:23:00 +00:00
imgfile.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
ld_so_aix Mod suggested by Donn Cave -- invoke makexp_aix relative to $0 1997-09-03 00:45:30 +00:00
license.terms Add an optional hack for threads in Tkinter. 1997-09-28 05:52:41 +00:00
main.c Typo in usage message. 1998-04-13 20:28:18 +00:00
Makefile.pre.in Don't delete glmodule.c on 'make clobber' (it's a checked in file!). 1998-05-14 02:33:57 +00:00
makesetup When a .o file is an absolute pathname, assume it's a file for which 1998-05-14 02:37:45 +00:00
makexp_aix remove C++ entries of the form Class::method 1998-04-09 21:46:02 +00:00
mathmodule.c Removed MetroWerks workaround, replaced by defines in mymath.h (Jack) 1997-05-20 15:59:04 +00:00
md5.h Use INT_MAX/LONG_MAX instead of non-ANSI LONG_BIT 1996-07-21 02:34:55 +00:00
md5c.c Always include config.h 1996-08-19 22:12:39 +00:00
md5module.c Renamed 1996-12-09 22:32:36 +00:00
mpzmodule.c Export MPZType -- the type of mpz objects.... 1998-04-03 15:33:43 +00:00
newmodule.c I think there was a tiny bug in new_function() -- the 'defaults' 1998-05-22 00:57:31 +00:00
nismodule.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
operator.c Add an alias (and preferred name) "contains" for "sequenceIncludes". 1998-05-22 18:12:59 +00:00
parsermodule.c Sorry, the initializer for ob_type must really be NULL, 1998-05-29 02:58:20 +00:00
pcre-int.h AMK's revised version of the previous patch. 1998-05-07 15:32:44 +00:00
pcre.h AMK's revised version of the previous patch. 1998-05-07 15:32:44 +00:00
pcremodule.c Address warnings issued by the MSVC++ compiler 1998-04-10 21:52:06 +00:00
posixmodule.c On Windows, make the pipe() call return Unix file descriptors instead 1998-06-12 15:05:15 +00:00
puremodule.c (puremodule.c): New module which exports the Purify and Quantify C API 1997-01-17 00:01:33 +00:00
pwdmodule.c Doc strings added by Mitch Chapman. 1998-03-03 22:03:26 +00:00
pypcre.c AMK's revised version of the previous patch. 1998-05-07 15:32:44 +00:00
python.c Keep gcc -Wall happy 1997-08-15 02:52:08 +00:00
readline.c Correct bug doc string (discovered by Berthold Hoellmann): 1998-05-20 15:50:56 +00:00
regexmodule.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
regexpr.c Make new gcc -Wall happy 1998-04-10 22:27:42 +00:00
regexpr.h Change [_Py_]re_compile_pattern() to return a char*. 1997-09-03 00:47:36 +00:00
resource.c Typo: RUSAGE_CHILDERN -> RUSAGE_CHILDREN. 1997-12-09 19:35:48 +00:00
rgbimgmodule.c Purported fixes for 64-bit platforms with help from John Jorgensen 1998-04-23 20:23:00 +00:00
rotormodule.c workaround for Mac MSL header definitions of TRUE and FALSE (Jack) 1997-05-20 15:58:36 +00:00
selectmodule.c os2 patch by Jeff Rush 1997-11-22 21:53:48 +00:00
Setup.in Delete reference to reopmodule.c. Add comment about soundex' obsolescence. 1998-04-10 20:44:11 +00:00
Setup.thread.in Moved the thread module to its own Setup.thread(.in) file, 1997-12-04 00:48:27 +00:00
sgimodule.c Great renaming. 1996-12-10 00:32:31 +00:00
signalmodule.c Use (void) to throw away a function result, not (void *) ! 1998-05-01 18:58:59 +00:00
socketmodule.c Some systems (e.g. Linux) use enums for some symbols (like IPPROTO_IP) 1998-05-28 20:18:18 +00:00
soundex.c Add case for 'R' and a little bit of cleanup. Andrew Kuchling. 1996-12-05 23:41:26 +00:00
stdwinmodule.c Add getintarg(), getlongarg(), getstrarg() to macros since these no 1997-10-20 23:22:07 +00:00
stropmodule.c Make sure that no use of a function pointer gotten from a 1998-05-22 00:53:47 +00:00
structmodule.c get_long(): Use PyErr_ExceptionMatches(...) instead of PyErr_Occurred(...). 1998-05-28 04:35:49 +00:00
sunaudiodev.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
svmodule.c Apply two changes, systematically: 1997-10-01 04:29:29 +00:00
syslogmodule.c Fix by Sean Reifschneider: 1998-05-08 21:52:55 +00:00
tclNotify.c Add an optional hack for threads in Tkinter. 1997-09-28 05:52:41 +00:00
termios.c In tcsetattr(), first initialize the mode structure by calling 1998-06-12 14:26:18 +00:00
threadmodule.c t_bootstrap(): Use PyErr_ExceptionMatches(...) instead of PyErr_Occurred(...). 1998-05-28 04:35:12 +00:00
timemodule.c Added strptime, if it exists. Modified after a patch by Jesse Hallio. 1998-06-09 16:30:31 +00:00
timing.h remove rcs history 1996-01-26 21:10:22 +00:00
timingmodule.c Renamed. 1997-01-13 22:57:42 +00:00
tkappinit.c Yes, Virginia, Tix does have a Tix_SafeInit() function. 1997-12-02 20:38:38 +00:00
xxmodule.c Add a test for a bad format character. 1997-12-09 20:37:25 +00:00
yuv.h New permission notice, includes CNRI. 1996-10-25 14:44:06 +00:00
yuvconvert.c New permission notice, includes CNRI. 1996-10-25 14:44:06 +00:00
zlibmodule.c Added URLs for zlib's home page and the Windows DLL's home page . 1998-05-08 14:56:29 +00:00