projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: per-uid flush and ust registry locking
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
save.c
diff --git
a/src/bin/lttng-sessiond/save.c
b/src/bin/lttng-sessiond/save.c
index d268f33190698d6f9bd920a5bbdbab140a377d70..d231fb24f9f9339577b077157661a1dcae975679 100644
(file)
--- a/
src/bin/lttng-sessiond/save.c
+++ b/
src/bin/lttng-sessiond/save.c
@@
-801,6
+801,11
@@
int save_kernel_contexts(struct config_writer *writer,
int ret;
struct ltt_kernel_context *ctx;
int ret;
struct ltt_kernel_context *ctx;
+ if (cds_list_empty(&kchan->ctx_list)) {
+ ret = 0;
+ goto end;
+ }
+
ret = config_writer_open_element(writer, config_element_contexts);
if (ret) {
ret = LTTNG_ERR_SAVE_IO_FAIL;
ret = config_writer_open_element(writer, config_element_contexts);
if (ret) {
ret = LTTNG_ERR_SAVE_IO_FAIL;
@@
-1218,6
+1223,8
@@
int save_domains(struct config_writer *writer, struct ltt_session *session)
}
if (session->ust_session) {
}
if (session->ust_session) {
+ unsigned long agent_count;
+
ret = config_writer_open_element(writer,
config_element_domain);
if (ret) {
ret = config_writer_open_element(writer,
config_element_domain);
if (ret) {
@@
-1236,30
+1243,37
@@
int save_domains(struct config_writer *writer, struct ltt_session *session)
ret = LTTNG_ERR_SAVE_IO_FAIL;
goto end;
}
ret = LTTNG_ERR_SAVE_IO_FAIL;
goto end;
}
- }
- if (session->ust_session &&
- lttng_ht_get_count(session->ust_session->agents) > 0) {
- ret = config_writer_open_element(writer,
- config_element_domain);
- if (ret) {
- ret = LTTNG_ERR_SAVE_IO_FAIL;
- goto end;
- }
+ rcu_read_lock();
+ agent_count =
+ lttng_ht_get_count(session->ust_session->agents);
+ rcu_read_unlock();
- ret = save_ust_session(writer, session, 1);
- if (ret) {
- goto end;
- }
+ if (agent_count > 0) {
+ ret = config_writer_open_element(writer,
+ config_element_domain);
+ if (ret) {
+ ret = LTTNG_ERR_SAVE_IO_FAIL;
+ goto end;
+ }
- /* /domain */
- ret = config_writer_close_element(writer);
- if (ret) {
- ret = LTTNG_ERR_SAVE_IO_FAIL;
- goto end;
+ ret = save_ust_session(writer, session, 1);
+ if (ret) {
+ goto end;
+ }
+
+ /* /domain */
+ ret = config_writer_close_element(writer);
+ if (ret) {
+ ret = LTTNG_ERR_SAVE_IO_FAIL;
+ goto end;
+ }
}
}
}
}
+ if (session->ust_session) {
+ }
+
/* /domains */
ret = config_writer_close_element(writer);
if (ret) {
/* /domains */
ret = config_writer_close_element(writer);
if (ret) {
This page took
0.024441 seconds
and
4
git commands to generate.