summaryrefslogtreecommitdiff
path: root/source4/smbd/process_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/smbd/process_thread.c')
-rw-r--r--source4/smbd/process_thread.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source4/smbd/process_thread.c b/source4/smbd/process_thread.c
index 553e67feeb..2ba9905f1f 100644
--- a/source4/smbd/process_thread.c
+++ b/source4/smbd/process_thread.c
@@ -162,6 +162,9 @@ static void thread_terminate_connection(struct server_connection *conn, const ch
{
DEBUG(0,("thread_terminate_connection: reason[%s]\n",reason));
conn->service->ops->close_connection(conn,reason);
+ close(conn->event.fde->fd);
+ event_remove_fd(conn->event.ctx, conn->event.fde);
+ event_remove_timed(conn->event.ctx, conn->event.idle);
/* terminate this thread */
pthread_exit(NULL); /* thread cleanup routine will do actual cleanup */
}