We have to release the writer_event_class once it is added to the
writer_stream_class. This also highlighted a problem with the ownership
of the stream, stream_class and writer objects which is now fixed.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
goto end;
}
bt_put(event_class);
+ bt_put(writer_event_class);
}
end:
} else {
writer_stream = insert_new_stream(writer_component, ctf_writer,
stream_class, stream);
+ bt_get(writer_stream);
}
bt_put(ctf_writer);
static
void unref_stream_class(struct bt_ctf_stream_class *writer_stream_class)
{
- BT_PUT(writer_stream_class);
- g_free(writer_stream_class);
+ return;
}
static
void unref_stream(struct bt_ctf_stream_class *writer_stream)
{
- BT_PUT(writer_stream);
- g_free(writer_stream);
+ bt_put(writer_stream);
}
static
void unref_trace(struct bt_ctf_writer *writer)
{
- BT_PUT(writer);
- g_free(writer);
+ return;
}
static