Reset session timeout at the end of the call

This commit is contained in:
Cédric Krier committed 2009-08-05 11:30:56 +02:00
1 parent 0de3f616df
commit 25febb7cbb
2 files changed
+5 -9

No files matched your search

+4 -6
View File
@@ -96,16 +96,12 @@ def dispatch(host, port, protocol, database_name, user, session, object_type,
obj = pool.get(object_name, type=object_type)
return pydoc.getdoc(getattr(obj, method))
user = security.check(database_name, user, session)
database = Database(database_name).connect()
cursor = database.cursor()
try:
try:
outdate_timeout = True
if object_name == 'res.request' and method == 'request_get':
outdate_timeout = False
user = security.check(database_name, user, session,
outdate_timeout=outdate_timeout)
Cache.clean(database_name)
database_list = Pool.database_list()
pool = Pool(database_name)
@@ -135,6 +131,8 @@ def dispatch(host, port, protocol, database_name, user, session, object_type,
cursor.rollback()
raise
finally:
if not (object_name == 'res.request' and method == 'request_get'):
user.reset_timestamp()
cursor.close()
Cache.resets(database_name)
return res
+1 -3
View File
@@ -58,7 +58,7 @@ def check_super(passwd):
else:
raise Exception('AccessDenied')
def check(dbname, user, session, outdate_timeout=True):
def check(dbname, user, session):
if user == 0:
raise Exception('AccessDenied')
result = False
@@ -70,8 +70,6 @@ def check(dbname, user, session, outdate_timeout=True):
in enumerate(_USER_CACHE[dbname][user]):
if abs(real_session.timestamp - now) < timeout:
if real_session.session == session:
if outdate_timeout:
real_session.reset_timestamp()
result = real_session
else:
to_del.insert(0, i)