shithub: ircd

Download patch

ref: 7a1a90f46e6c7de5ce85bac73ecc8c4931900d7c
parent: 564f0cc5963d4055fe4ac30e6d4f6a63e9ca086b
author: sirjofri <sirjofri@sirjofri.de>
date: Tue Jul 22 17:14:42 EDT 2025

automatically "sign out" when closing connection

--- a/ircd.c
+++ b/ircd.c
@@ -139,10 +139,26 @@
 	respond(r, nil);
 }
 
+static void
+fsdestroyfid(Fid *fid)
+{
+	Client *c;
+	if (!fid || !fid->file)
+		return;
+	if (fid->file->aux != Firc)
+		return;
+	
+	c = findclient(fid->fid);
+	if (!c)
+		return;
+	delclient(c);
+}
+
 Srv fs = {
 	.read = fsread,
 	.write = fswrite,
 	.flush = fsflush,
+	.destroyfid = fsdestroyfid,
 };
 
 void
--