From 2d67a1c11bf67dd25a73ae83fc6cccf7eb4c9a07 Mon Sep 17 00:00:00 2001
From: "Stephen R. van den Berg" <srb@cuci.nl>
Date: Tue, 25 Nov 2014 11:54:56 +0100
Subject: [PATCH] pgsql: Avoid race during buffer fill/read.

---
 lib/modules/Sql.pmod/pgsql_util.pmod | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index b74756de3a..17b253fa71 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -174,7 +174,8 @@ class conxiin {
     if(fillread) {
       array cid=callout(gottimeout,timeout);
       Thread.MutexKey lock=fillreadmux->lock();
-      fillread.wait(lock);
+      if(!sizeof(this))
+        fillread.wait(lock);
       lock=0;
       local_backend->remove_call_out(cid);
     } else
-- 
GitLab