r4685: only remove events when we have them
authorStefan Metzmacher <metze@samba.org>
Tue, 11 Jan 2005 15:18:18 +0000 (15:18 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:08:43 +0000 (13:08 -0500)
metze
(This used to be commit d2276a9149b14aed459e9492384c0a7563dd154c)

source4/smbd/service.c

index fac0e175a15dacb71d547587c789c19158a3e9c5..586c05c2c63ca10b4a49db6e6df9bff8b01ad5dc 100644 (file)
@@ -192,10 +192,14 @@ static int server_destructor(void *ptr)
 
        socket_destroy(conn->socket);
 
-       event_remove_fd(conn->event.ctx, conn->event.fde);
-       conn->event.fde = NULL;
-       event_remove_timed(conn->event.ctx, conn->event.idle);
-       conn->event.idle = NULL;
+       if (conn->event.fde) {
+               event_remove_fd(conn->event.ctx, conn->event.fde);
+               conn->event.fde = NULL;
+       }
+       if (conn->event.idle) {
+               event_remove_timed(conn->event.ctx, conn->event.idle);
+               conn->event.idle = NULL;
+       }
 
        DLIST_REMOVE(conn->server_socket->connection_list, conn);