[dovecot-cvs] dovecot/src/lib ioloop-epoll.c,1.18,1.19

tss at dovecot.org tss at dovecot.org
Tue Nov 7 13:57:34 UTC 2006


Update of /var/lib/cvs/dovecot/src/lib
In directory talvi:/tmp/cvs-serv16807

Modified Files:
	ioloop-epoll.c 
Log Message:
Free all the used memory when destroying the ioloop.



Index: ioloop-epoll.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib/ioloop-epoll.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- ioloop-epoll.c	13 Oct 2006 22:12:53 -0000	1.18
+++ ioloop-epoll.c	7 Nov 2006 13:57:30 -0000	1.19
@@ -44,6 +44,12 @@
 void io_loop_handler_deinit(struct ioloop *ioloop)
 {
 	struct ioloop_handler_context *ctx = ioloop->handler_context;
+	struct io_list **list;
+	unsigned int i, count;
+
+	list = array_get_modifyable(&ctx->fd_index, &count);
+	for (i = 0; i < count; i++)
+		p_free(ioloop->pool, list[i]);
 
 	if (close(ctx->epfd) < 0)
 		i_error("close(epoll) failed: %m");



More information about the dovecot-cvs mailing list