projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: rotation: hang on destroy when using scheduled rotation based on timer
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
cmd.cpp
diff --git
a/src/bin/lttng-sessiond/cmd.cpp
b/src/bin/lttng-sessiond/cmd.cpp
index 2682629bbbbe91d2a89b6e40178fa0c6ec74bac3..0e9821eb693f327fa7b69c74f104df1b0398bfea 100644
(file)
--- a/
src/bin/lttng-sessiond/cmd.cpp
+++ b/
src/bin/lttng-sessiond/cmd.cpp
@@
-2818,7
+2818,7
@@
int cmd_start_trace(struct ltt_session *session)
*/
session->rotated_after_last_stop = false;
*/
session->rotated_after_last_stop = false;
- if (session->rotate_timer_period) {
+ if (session->rotate_timer_period
&& !session->rotation_schedule_timer_enabled
) {
int int_ret = timer_session_rotation_schedule_timer_start(
session, session->rotate_timer_period);
int int_ret = timer_session_rotation_schedule_timer_start(
session, session->rotate_timer_period);
@@
-3765,8
+3765,8
@@
enum lttng_error_code cmd_list_channels(enum lttng_domain_type domain,
channel = trace_ust_channel_to_lttng_channel(uchan);
if (!channel) {
channel = trace_ust_channel_to_lttng_channel(uchan);
if (!channel) {
- ret = LTTNG_ERR_NOMEM;
-
break
;
+ ret
_code
= LTTNG_ERR_NOMEM;
+
goto end
;
}
extended = (struct lttng_channel_extended *)
}
extended = (struct lttng_channel_extended *)
@@
-3777,7
+3777,7
@@
enum lttng_error_code cmd_list_channels(enum lttng_domain_type domain,
if (ret < 0) {
lttng_channel_destroy(channel);
ret_code = LTTNG_ERR_UNK;
if (ret < 0) {
lttng_channel_destroy(channel);
ret_code = LTTNG_ERR_UNK;
-
break
;
+
goto end
;
}
extended->discarded_events = discarded_events;
}
extended->discarded_events = discarded_events;
@@
-3785,15
+3785,15
@@
enum lttng_error_code cmd_list_channels(enum lttng_domain_type domain,
ret = lttng_channel_serialize(
channel, &payload->buffer);
ret = lttng_channel_serialize(
channel, &payload->buffer);
- lttng_channel_destroy(channel);
if (ret) {
ERR("Failed to serialize lttng_channel: channel name = '%s'",
channel->name);
if (ret) {
ERR("Failed to serialize lttng_channel: channel name = '%s'",
channel->name);
+ lttng_channel_destroy(channel);
ret_code = LTTNG_ERR_UNK;
ret_code = LTTNG_ERR_UNK;
- ret = -1;
- break;
+ goto end;
}
}
+ lttng_channel_destroy(channel);
i++;
}
rcu_read_unlock();
i++;
}
rcu_read_unlock();
This page took
0.027754 seconds
and
4
git commands to generate.