]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/dbconn.py
Replace DBConn.reset() by something more robust.
[dak.git] / daklib / dbconn.py
index 1968dd0c16a63ffdedab916e52d405b760f38484..bf77b2a7b50401eb6f3430dd8b77f96ab7583d97 100755 (executable)
@@ -3223,19 +3223,15 @@ class DBConn(object):
 
         self.__setuptables()
         self.__setupmappers()
+        self.pid = os.getpid()
 
     def session(self):
+        # reinitialize DBConn in new processes
+        if self.pid != os.getpid():
+            clear_mappers()
+            self.__createconn()
         return self.db_smaker()
 
-    def reset(self):
-        '''
-        Resets the DBConn object. This function must be called by subprocesses
-        created by the multiprocessing module. See tests/dbtest_multiproc.py
-        for an example.
-        '''
-        clear_mappers()
-        self.__createconn()
-
 __all__.append('DBConn')