---

 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();
   };


Reply via email to