]> granicus.if.org Git - python/commitdiff
Fix so that after a fork() -- on Unix only -- the template gets
authorGuido van Rossum <guido@python.org>
Wed, 14 Oct 1998 20:27:05 +0000 (20:27 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 14 Oct 1998 20:27:05 +0000 (20:27 +0000)
recalculated.

Lib/tempfile.py

index 2c9ec9b0d1ed8e018b729ff4f9e5661681808365..6a2730a892a4a5498b1288acdb8e856da69460ab 100644 (file)
@@ -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':