[ltt-dev] [UST PATCH] Fix segfault in ust_fork

Yannick Brosseau yannick.brosseau at gmail.com
Fri Feb 18 14:20:45 EST 2011


Move the ltt_trace_destroy after the iteration of open_buffer_list. The destroy
free the pointers used in the open_buffer_list

Signed-off-by: Yannick Brosseau <yannick.brosseau at gmail.com>
---
 libust/tracectl.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/libust/tracectl.c b/libust/tracectl.c
index d32deba..1bd7229 100644
--- a/libust/tracectl.c
+++ b/libust/tracectl.c
@@ -1581,7 +1581,6 @@ static void ust_fork(void)
 	ltt_unlock_traces();
 
 	ltt_trace_stop("auto");
-	ltt_trace_destroy("auto", 1);
 	/* Delete all active connections, but leave them in the epoll set */
 	cds_list_for_each_entry_safe(sock, sock_tmp, &ust_socks, list) {
 		ustcomm_del_sock(sock, 1);
@@ -1601,6 +1600,8 @@ static void ust_fork(void)
 		cds_list_del(&buf->open_buffers_list);
 	}
 
+	ltt_trace_destroy("auto", 1);
+
 	/* Clean up the listener socket and epoll, keeping the scoket file */
 	ustcomm_del_named_sock(listen_sock, 1);
 	close(epoll_fd);
-- 
1.7.2.3





More information about the lttng-dev mailing list