X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-relayd%2Fstream.c;h=f3945383a85d5c4f0d6f27303491a42437eb971c;hb=d92d258f48168978efe96ac77393801c887bed81;hp=fff8065b0da3d269eee76a11b73115f36602effe;hpb=2a174661a1e0ab551b41ff1cae7191688525fc1f;p=lttng-tools.git diff --git a/src/bin/lttng-relayd/stream.c b/src/bin/lttng-relayd/stream.c index fff8065b0..f3945383a 100644 --- a/src/bin/lttng-relayd/stream.c +++ b/src/bin/lttng-relayd/stream.c @@ -23,16 +23,6 @@ #include "stream.h" #include "viewer-stream.h" -static void rcu_destroy_stream(struct rcu_head *head) -{ - struct relay_stream *stream = - caa_container_of(head, struct relay_stream, rcu_node); - - free(stream->path_name); - free(stream->channel_name); - free(stream); -} - /* * Get stream from stream id from the given hash table. Return stream if found * else NULL. @@ -122,6 +112,7 @@ int stream_close(struct relay_session *session, struct relay_stream *stream) assert(ctf_trace); ctf_trace_put_ref(ctf_trace); + stream->close_flag = 1; stream->terminated_flag = 1; ret = 0; @@ -148,6 +139,7 @@ void stream_delete(struct lttng_ht *ht, struct relay_stream *stream) void stream_destroy(struct relay_stream *stream) { assert(stream); - - call_rcu(&stream->rcu_node, rcu_destroy_stream); + free(stream->path_name); + free(stream->channel_name); + free(stream); }