Workaround fuer Driver-Speicherleck
Der Driver schliesst das iconv-Handle in in 3.6.2 und
3.6.3 nicht beim Ausloggen oder Zerstoeren von
Interactives. Daher in disconnect() und prepare_destruct()
das Encoding wechseln. Dabei schliesst der driver das Handle
auf iconv schliesst.
Change-Id: I96a2dbda9a48066c096b103ba68b216d99933b2e
diff --git a/secure/master.c b/secure/master.c
index b853771..f9f40a1 100644
--- a/secure/master.c
+++ b/secure/master.c
@@ -593,7 +593,15 @@
// Was machen bei disconnect?
protected void disconnect(object who, string remaining) {
- ({void})who->NetDead(); return;
+#if (__VERSION_MICRO__*100 + __VERSION_MINOR__ *10000 + __VERSION_MAJOR__ \
+ * 1000000) <= 3060300
+ // Workaround fuer Driver-Speicherleck in 3.6.2 und 3.6.3: vor dem
+ // Disconnect das Encoding wechseln, damit der driver das Handle auf iconv
+ // schliesst.
+ configure_interactive(who, IC_ENCODING, "UTF-8");
+#endif
+ ({void})who->NetDead();
+ return;
}
// Es gibt kein File 'filename'. VC aktivieren so vorhanden ...