server/session.py
branchstable
changeset 2319 654decb099e3
parent 2306 95da5d9f0870
child 2466 c4ccfd38a542
child 2570 80a996bb536d
equal deleted inserted replaced
2315:a1849f3ef4af 2319:654decb099e3
   144                 raise
   144                 raise
   145             self._threads_in_transaction.add(threading.currentThread())
   145             self._threads_in_transaction.add(threading.currentThread())
   146         return self._threaddata.pool
   146         return self._threaddata.pool
   147 
   147 
   148     def reset_pool(self):
   148     def reset_pool(self):
   149         """the session has no longer using its pool, at least for some time"""
   149         """the session is no longer using its pool, at least for some time"""
   150         # pool may be none if no operation has been done since last commit
   150         # pool may be none if no operation has been done since last commit
   151         # or rollback
   151         # or rollback
   152         if self.pool is not None and self.mode == 'read':
   152         if self.pool is not None and self.mode == 'read':
   153             # even in read mode, we must release the current transaction
   153             # even in read mode, we must release the current transaction
   154             pool = self.pool
   154             pool = self.pool
   155             self._threads_in_transaction.remove(threading.currentThread())
   155             try:
       
   156                 self._threads_in_transaction.remove(threading.currentThread())
       
   157             except KeyError:
       
   158                 pass
   156             pool.pool_reset()
   159             pool.pool_reset()
   157             self._threaddata.pool = None
   160             self._threaddata.pool = None
   158             # free pool once everything is done to avoid race-condition
   161             # free pool once everything is done to avoid race-condition
   159             self.repo._free_pool(pool)
   162             self.repo._free_pool(pool)
   160 
   163