server/repository.py
branchstable
changeset 8881 ad3a1ba9ea74
parent 8839 49eb84b80b96
child 8889 be91151107f6
child 8890 57ffd0e0643d
--- a/server/repository.py	Tue Apr 09 11:56:27 2013 +0200
+++ b/server/repository.py	Tue Apr 09 14:23:24 2013 +0200
@@ -898,8 +898,12 @@
             self.threaded_task(task)
         else:
             self.info('calling service %s synchronously', regid)
-            service = session.vreg['services'].select(regid, session, **kwargs)
-            return service.call(**kwargs)
+            session.set_cnxset()
+            try:
+                service = session.vreg['services'].select(regid, session, **kwargs)
+                return service.call(**kwargs)
+            finally:
+                session.free_cnxset()
 
     def user_info(self, sessionid, props=None):
         """this method should be used by client to: