diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod index 8deefac9b912c513b3d62eafee87c3a8caf85942..691f18b64de570da6ee751b3070bc2587daa36a0 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; }