chiark / gitweb /
do not crash on disposal of sock and tuntap
authorian <ian>
Sun, 19 Dec 2004 23:55:43 +0000 (23:55 +0000)
committerian <ian>
Sun, 19 Dec 2004 23:55:43 +0000 (23:55 +0000)
dgram/dgram.c
tuntap/tuntap.c

index 63d3b2923731552f72da76694a2fc35a030afce8..31264f35927f4d983aa10b602cb237d7b97eb249 100644 (file)
@@ -163,8 +163,8 @@ static void destroy_idtabcb(Tcl_Interp *ip, void *sock_v) {
 }
 
 int do_dgram_socket_close(ClientData cd, Tcl_Interp *ip, void *sock_v) {
 }
 
 int do_dgram_socket_close(ClientData cd, Tcl_Interp *ip, void *sock_v) {
-  destroy(sock_v);
   tabledataid_disposing(ip,sock_v,&dgram_socks);
   tabledataid_disposing(ip,sock_v,&dgram_socks);
+  destroy(sock_v);
   return TCL_OK;
 }
 
   return TCL_OK;
 }
 
index 9deec5745a6cea82b4ae479d51dfa55bf6068f37..60a8cdcdeae0f8261da14e0e509063cd0d8101ff 100644 (file)
@@ -153,8 +153,8 @@ static void destroy_idtabcb(Tcl_Interp *ip, void *sock_v) {
 }
 
 int do_tuntap_socket_raw_close(ClientData cd, Tcl_Interp *ip, void *sock) {
 }
 
 int do_tuntap_socket_raw_close(ClientData cd, Tcl_Interp *ip, void *sock) {
-  destroy(sock);
   tabledataid_disposing(ip,sock,&tuntap_socks);
   tabledataid_disposing(ip,sock,&tuntap_socks);
+  destroy(sock);
   return TCL_OK;
 }
 
   return TCL_OK;
 }