From 5a8c95bcbfa22f8884d4ef96243fa93152d12d15 Mon Sep 17 00:00:00 2001
From: "Stephen R. van den Berg" <srb@cuci.nl>
Date: Sat, 15 Oct 2016 16:52:18 +0200
Subject: [PATCH] pgsql: Guard against asynchronous destructs.

---
 lib/modules/Sql.pmod/pgsql_util.pmod | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index 8deefac9b9..691f18b64d 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -284,10 +284,12 @@ class conxion {
 
   private int write_cb() {
     Thread.MutexKey lock = shortmux->lock();
-    towrite -= output_to(socket, towrite);
-    lock = 0;
-    if (!i->fillread && !sizeof(this))
-      close();
+    if (this) {				// Guard against async destructs
+      towrite -= output_to(socket, towrite);
+      lock = 0;
+      if (!i->fillread && !sizeof(this))
+        close();
+    }
     return 0;
   }
 
-- 
GitLab