Author: tridge
Date: 2005-01-17 22:53:37 +0000 (Mon, 17 Jan 2005)
New Revision: 4811

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4811

Log:
now that the event context is at the socket level, the event cleanup
should be there too


Modified:
   branches/SAMBA_4_0/source/libcli/raw/clisocket.c
   branches/SAMBA_4_0/source/libcli/raw/clitransport.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/raw/clisocket.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/raw/clisocket.c    2005-01-17 22:53:00 UTC 
(rev 4810)
+++ branches/SAMBA_4_0/source/libcli/raw/clisocket.c    2005-01-17 22:53:37 UTC 
(rev 4811)
@@ -35,6 +35,17 @@
        const char *dest_host;
 };
 
+
+static int smbcli_sock_destructor(void *ptr)
+{
+       struct smbcli_socket *sock = talloc_get_type(ptr, struct smbcli_socket);
+
+       if (sock->event.fde && sock->event.ctx) {
+               event_remove_fd(sock->event.ctx, sock->event.fde);
+       }
+       return 0;
+}
+
 /*
   create a smbcli_socket context
 */
@@ -53,6 +64,8 @@
                return NULL;
        }
 
+       talloc_set_destructor(sock, smbcli_sock_destructor);
+
        return sock;
 }
 

Modified: branches/SAMBA_4_0/source/libcli/raw/clitransport.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/raw/clitransport.c 2005-01-17 22:53:00 UTC 
(rev 4810)
+++ branches/SAMBA_4_0/source/libcli/raw/clitransport.c 2005-01-17 22:53:37 UTC 
(rev 4811)
@@ -54,7 +54,6 @@
        struct smbcli_transport *transport = ptr;
 
        smbcli_transport_dead(transport);
-       event_remove_fd(transport->socket->event.ctx, 
transport->socket->event.fde);
        event_remove_timed(transport->socket->event.ctx, 
transport->socket->event.te);
        return 0;
 }

Reply via email to