Ensure our network layer is properly cleaned up before PuTTY exits.
[u/mdw/putty] / winnet.c
index 1663148..0dac18e 100644 (file)
--- a/winnet.c
+++ b/winnet.c
@@ -124,6 +124,18 @@ void sk_init(void)
     sktree = newtree234(cmpfortree);
 }
 
+void sk_cleanup(void)
+{
+    Actual_Socket s;
+    int i;
+
+    if (sktree) {
+       for (i = 0; (s = index234(sktree, i)) != NULL; i++) {
+           closesocket(s->s);
+       }
+    }
+}
+
 char *winsock_error_string(int error)
 {
     switch (error) {