projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement snapshot commands in lttng-sessiond
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
session.c
diff --git
a/src/bin/lttng-sessiond/session.c
b/src/bin/lttng-sessiond/session.c
index 17dc3544dbe55a4dac884b5af9f178e2f1c44991..5f5c2a6ee08fe202cff46a1adf461ec3c6118d5f 100644
(file)
--- a/
src/bin/lttng-sessiond/session.c
+++ b/
src/bin/lttng-sessiond/session.c
@@
-147,6
+147,7
@@
found:
* Delete session from the session list and free the memory.
*
* Return -1 if no session is found. On success, return 1;
* Delete session from the session list and free the memory.
*
* Return -1 if no session is found. On success, return 1;
+ * Should *NOT* be called with RCU read-side lock held.
*/
int session_destroy(struct ltt_session *session)
{
*/
int session_destroy(struct ltt_session *session)
{
@@
-157,9
+158,8
@@
int session_destroy(struct ltt_session *session)
del_session_list(session);
pthread_mutex_destroy(&session->lock);
del_session_list(session);
pthread_mutex_destroy(&session->lock);
- rcu_read_lock();
consumer_destroy_output(session->consumer);
consumer_destroy_output(session->consumer);
-
rcu_read_unlock(
);
+
snapshot_destroy(&session->snapshot
);
free(session);
return LTTNG_OK;
free(session);
return LTTNG_OK;
@@
-203,6
+203,12
@@
int session_create(char *name, uid_t uid, gid_t gid)
new_session->uid = uid;
new_session->gid = gid;
new_session->uid = uid;
new_session->gid = gid;
+ ret = snapshot_init(&new_session->snapshot);
+ if (ret < 0) {
+ ret = LTTNG_ERR_NOMEM;
+ goto error;
+ }
+
/* Add new session to the session list */
session_lock_list();
new_session->id = add_session_list(new_session);
/* Add new session to the session list */
session_lock_list();
new_session->id = add_session_list(new_session);
This page took
0.023583 seconds
and
4
git commands to generate.