# HG changeset patch # User Sylvain Thénault # Date 1299674575 -3600 # Node ID b8ce2266d026f11aa7cca7b92ceb0e65514e9f1a # Parent b07ee816bffbb2c06d997340681c6995e3b30985 [repo] fix multi-threads bug with get_option_value: pyro proxy can't be used from a thread to another without caution (closes #1535206) diff -r b07ee816bffb -r b8ce2266d026 server/repository.py --- a/server/repository.py Wed Mar 09 12:24:50 2011 +0100 +++ b/server/repository.py Wed Mar 09 13:42:55 2011 +0100 @@ -543,7 +543,13 @@ return self.config[option] pool = self._get_pool() try: - return pool.connection(sourceuri).get_option_value(option, extid) + cnx = pool.connection(sourceuri) + # needed to check connection is valid and usable by the current + # thread + newcnx = self.sources_by_uri[sourceuri].check_connection(cnx) + if newcnx is not None: + cnx = newcnx + return cnx.get_option_value(option, extid) finally: self._free_pool(pool)