Staging
v0.5.1
https://github.com/python/cpython
Revision 3ffb948c1882de347a04b50765d7ea829c5aed2f authored by Michael W. Hudson on 17 March 2002, 17:54:32 UTC, committed by Michael W. Hudson on 17 March 2002, 17:54:32 UTC
Bring tempfile.py up to date from the trunk.  There have been three
checkins (all by Tim):

SF bug #509805 tempfile.gettempdir not threadsafe
This is an ancient race when multiple threads call gettempdir() (or
anything relying on it) for the first time.

Fixed x-platform via the Big Hammer of rearranging the code to serialize
the first calls.  Subsequent calls are as fast as before.

Note that the Python test suite can't provoke this bug:  it requires
setting up multiple threads making the very first calls into tempfile,
but the test suite uses tempfile several times before getting to
test_threadedtempfile.

Bugfix candidate.

[and]

New TemporaryFile implementation for Windows:  this doesn't need a
TemproraryFileWrapper wrapper anymore, and should be immune from the
problem that a temp file inherited by a spawned process caused an
attempt to close the temp file in the spawning process to blow
up (the unlink in TemporaryFileWrapper.close() blew up with a
"Permission denied" error because, despite that the temp file got
closed in the spawning process, the spawned process still had it open
by virtue of C-level file descriptor inheritance).  In context,
that bug took days to figure out <wink/sigh>.

[and]

Thanks to Detlef Lannert for pointing out a typo in the code that
uses _DummyMutex on platforms without threads.

The first and third of these are pretty clearly bugfixes; I think the
second is too.
1 parent 98305a0
History
Tip revision: 3ffb948c1882de347a04b50765d7ea829c5aed2f authored by Michael W. Hudson on 17 March 2002, 17:54:32 UTC
So there is some merit in slogging through ~4800 lines of cvs log.
Tip revision: 3ffb948
File Mode Size
Demo
Doc
Grammar
Include
Lib
Mac
Misc
Modules
Objects
PC
PCbuild
Parser
Python
RISCOS
Tools
.cvsignore -rw-r--r-- 109 bytes
.hgtags -rw-r--r-- 2.1 KB
LICENSE -rw-r--r-- 12.1 KB
Makefile.pre.in -rw-r--r-- 25.9 KB
PLAN.txt -rw-r--r-- 14.1 KB
README -rw-r--r-- 39.6 KB
acconfig.h -rw-r--r-- 7.5 KB
configure -rwxr-xr-x 209.1 KB
configure.in -rw-r--r-- 54.0 KB
install-sh -rwxr-xr-x 5.5 KB
pyconfig.h.in -rw-r--r-- 19.6 KB
setup.py -rw-r--r-- 34.4 KB

README

back to top