r1512: fixed a bug where we could reference the timer event handler after destruction
authorAndrew Tridgell <tridge@samba.org>
Thu, 15 Jul 2004 07:44:46 +0000 (07:44 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:57:37 +0000 (12:57 -0500)
source/smbd/service.c

index 2b6e0579fa4f06d7016c6919ec2e9acd751cc136..52ff088db3506947183599b4335fbb293da70aef 100644 (file)
@@ -182,14 +182,14 @@ void server_io_handler(struct event_context *ev, struct fd_event *fde, time_t t,
 {
        struct server_connection *conn = fde->private;
 
+       conn->event.idle->next_event = t + conn->event.idle_time;
+
        if (flags & EVENT_FD_WRITE) {
                conn->service->ops->send_handler(conn, t, flags);
-               conn->event.idle->next_event = t + conn->event.idle_time;
        }
 
        if (flags & EVENT_FD_READ) {
                conn->service->ops->recv_handler(conn, t, flags);
-               conn->event.idle->next_event = t + conn->event.idle_time;
        }
 
 }