session
---
server/base_server/roxenloader.pike | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/server/base_server/roxenloader.pike
b/server/base_server/roxenloader.pike
index 79a596d..6318e2a 100644
--- a/server/base_server/roxenloader.pike
+++ b/server/base_server/roxenloader.pike
@@ -1479,6 +1479,14 @@ protected void sq_cache_free(string db_name, Sql.Sql real)
#ifndef NO_DB_REUSE
mixed key;
+ if(functionp(key=real->master_sql->status_commit))
+ switch(key())
+ {
+ default:
+ if(catch(real->big_query("ROLLBACK")))
+ real->reload();
+ case "idle":;
+ }
catch {
key = sq_cache_lock();
};
|