projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: improve error handling for UST stream creation
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
ust-app.c
diff --git
a/src/bin/lttng-sessiond/ust-app.c
b/src/bin/lttng-sessiond/ust-app.c
index 7da843a9e0a1d1bb56ba896e8283d28fec301358..035fe7f676e8797d3a8b1d4642d4fab70de6553f 100644
(file)
--- a/
src/bin/lttng-sessiond/ust-app.c
+++ b/
src/bin/lttng-sessiond/ust-app.c
@@
-2320,11
+2320,16
@@
int ust_app_start_trace(struct ltt_ust_session *usess, struct ust_app *app)
ret = ustctl_create_stream(app->sock, ua_chan->obj,
&ustream->obj);
if (ret < 0) {
ret = ustctl_create_stream(app->sock, ua_chan->obj,
&ustream->obj);
if (ret < 0) {
- /* Got all streams */
- lttng_fd_put(LTTNG_FD_APPS, 2);
+ /* Free unused memory and reset FD states. */
free(ustream);
free(ustream);
+ lttng_fd_put(LTTNG_FD_APPS, 2);
+ if (ret == -ENOENT) {
+ /* Got all streams. Continue normal execution. */
+ break;
+ }
+ /* Error at this point. Stop everything. */
ret = LTTNG_ERR_UST_STREAM_FAIL;
ret = LTTNG_ERR_UST_STREAM_FAIL;
-
brea
k;
+
goto error_rcu_unloc
k;
}
ustream->handle = ustream->obj->handle;
}
ustream->handle = ustream->obj->handle;
This page took
0.025098 seconds
and
4
git commands to generate.