X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fsession.c;h=7a580fdd9b07cfb6ff9b31f4eb5b529f306fc4d4;hp=2ab49485f738a9d3c45df96ba91baed4a397794b;hb=6df2e2c977b698cc6b8f15c90b649516674028f9;hpb=ba7f0ae55f6209514025bb538c6fe3faefc32f4b diff --git a/lttng-sessiond/session.c b/lttng-sessiond/session.c index 2ab49485f..7a580fdd9 100644 --- a/lttng-sessiond/session.c +++ b/lttng-sessiond/session.c @@ -55,11 +55,12 @@ static struct ltt_session_list ltt_session_list = { * Add a ltt_session structure to the global list. * * The caller MUST acquire the session list lock before. + * Returns the unique identifier for the session. */ -static void add_session_list(struct ltt_session *ls) +static int add_session_list(struct ltt_session *ls) { cds_list_add(&ls->list, <t_session_list.head); - ltt_session_list.count++; + return ++ltt_session_list.count; } /* @@ -163,7 +164,7 @@ int session_destroy(struct ltt_session *session) /* * Create a brand new session and add it to the session list. */ -int session_create(char *name, char *path) +int session_create(char *name, char *path, uid_t uid, gid_t gid) { int ret; struct ltt_session *new_session; @@ -213,12 +214,17 @@ int session_create(char *name, char *path) /* Init lock */ pthread_mutex_init(&new_session->lock, NULL); + new_session->uid = uid; + new_session->gid = gid; + /* Add new session to the session list */ session_lock_list(); - add_session_list(new_session); + new_session->id = add_session_list(new_session); session_unlock_list(); - DBG("Tracing session %s created in %s", name, path); + DBG("Tracing session %s created in %s with ID %d by UID %d GID %d", + name, path, new_session->id, + new_session->uid, new_session->gid); return LTTCOMM_OK;