From 148618245167e56ac4b9075881f2b790078c1cbc Mon Sep 17 00:00:00 2001 From: Armin Rigo Date: Sun, 21 Oct 2007 09:14:15 +0000 Subject: [PATCH] Add a crasher for the long-standing issue with closing a file while another thread uses it. --- Lib/test/crashers/multithreaded_close.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Lib/test/crashers/multithreaded_close.py diff --git a/Lib/test/crashers/multithreaded_close.py b/Lib/test/crashers/multithreaded_close.py new file mode 100644 index 00000000000..52243414d6d --- /dev/null +++ b/Lib/test/crashers/multithreaded_close.py @@ -0,0 +1,14 @@ +# f.close() is not thread-safe: calling it at the same time as another +# operation (or another close) on the same file, but done from another +# thread, causes crashes. The issue is more complicated than it seems, +# witness the discussions in: +# +# http://bugs.python.org/issue595601 +# http://bugs.python.org/issue815646 + +import thread + +while 1: + f = open("multithreaded_close.tmp", "w") + thread.start_new_thread(f.close, ()) + f.close()