diff options
Diffstat (limited to 'Lib/tempfile.py')
-rw-r--r-- | Lib/tempfile.py | 12 |
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': |