projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: Missing rcu_read_lock in cmd_list_events()
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
snapshot.c
diff --git
a/src/bin/lttng-sessiond/snapshot.c
b/src/bin/lttng-sessiond/snapshot.c
index 4c23ee424292176032da37d2a57fa9cd21e3ec5e..1060269f3a9e0b15232f07ec380e643fb027a18c 100644
(file)
--- a/
src/bin/lttng-sessiond/snapshot.c
+++ b/
src/bin/lttng-sessiond/snapshot.c
@@
-16,6
+16,7
@@
*/
#define _GNU_SOURCE
*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <assert.h>
#include <inttypes.h>
#include <string.h>
#include <assert.h>
#include <inttypes.h>
#include <string.h>
@@
-24,6
+25,7
@@
#include <common/defaults.h>
#include "snapshot.h"
#include <common/defaults.h>
#include "snapshot.h"
+#include "utils.h"
/*
* Return the atomically incremented value of next_output_id.
/*
* Return the atomically incremented value of next_output_id.
@@
-47,6
+49,8
@@
static int output_init(uint64_t max_size, const char *name,
assert(output);
assert(output);
+ memset(output, 0, sizeof(struct snapshot_output));
+
if (max_size == (uint64_t) -1ULL) {
max_size = 0;
}
if (max_size == (uint64_t) -1ULL) {
max_size = 0;
}
@@
-78,6
+82,7
@@
static int output_init(uint64_t max_size, const char *name,
ret = -ENOMEM;
goto error;
}
ret = -ENOMEM;
goto error;
}
+ output->consumer->snapshot = 1;
/* No URL given. */
if (nb_uri == 0) {
/* No URL given. */
if (nb_uri == 0) {
@@
-318,4
+323,5
@@
void snapshot_destroy(struct snapshot *obj)
snapshot_output_destroy(output);
}
rcu_read_unlock();
snapshot_output_destroy(output);
}
rcu_read_unlock();
+ ht_cleanup_push(obj->output_ht);
}
}
This page took
0.025447 seconds
and
4
git commands to generate.