From 8e68b0dd1adfcd7932f368a0b00dd2019c95db38 Mon Sep 17 00:00:00 2001
From: Kim Alvefur <zash@zash.se>
Date: Sat, 24 Nov 2018 02:25:44 +0100
Subject: mod_csi_simple: Use write locks in net.server if available

---
 plugins/mod_csi_simple.lua | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/plugins/mod_csi_simple.lua b/plugins/mod_csi_simple.lua
index da2dd953..abe65fce 100644
--- a/plugins/mod_csi_simple.lua
+++ b/plugins/mod_csi_simple.lua
@@ -86,7 +86,9 @@ end, -1);
 
 module:hook("csi-client-inactive", function (event)
 	local session = event.origin;
-	if session.pump then
+	if session.conn and session.conn and session.conn.pause_writes then
+		session.conn:pause_writes();
+	elseif session.pump then
 		session.pump:pause();
 	else
 		local bare_jid = jid.join(session.username, session.host);
@@ -115,6 +117,8 @@ module:hook("csi-client-active", function (event)
 	local session = event.origin;
 	if session.pump then
 		session.pump:resume();
+	elseif session.conn and session.conn and session.conn.resume_writes then
+		session.conn:resume_writes();
 	end
 end);
 
-- 
cgit v1.2.3