From: Yannick Brosseau Date: Fri, 18 Feb 2011 21:39:07 +0000 (-0500) Subject: Fix segfault in ust_fork X-Git-Tag: v0.12~50 X-Git-Url: http://git.lttng.org/?p=ust.git;a=commitdiff_plain;h=3659d94c0cfe5f112b4e60cf5f1e1432097faf4d Fix segfault in ust_fork 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 Signed-off-by: Mathieu Desnoyers --- 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);