summaryrefslogtreecommitdiffstats
path: root/Lib/tempfile.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/tempfile.py')
-rw-r--r--Lib/tempfile.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index 2c9ec9b..6a2730a 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -60,11 +60,17 @@ def gettempdir():
# Function to calculate a prefix of the filename to use
+_pid = None
+
def gettempprefix():
- global template
- if template == None:
+ global template, _pid
+ if os.name == 'posix' and _pid and _pid != os.getpid():
+ # Our pid changed; we must have forked -- zap the template
+ template = None
+ if template is None:
if os.name == 'posix':
- template = '@' + `os.getpid()` + '.'
+ _pid = os.getpid()
+ template = '@' + `_pid` + '.'
elif os.name == 'nt':
template = '~' + `os.getpid()` + '-'
elif os.name == 'mac':