X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=ltt-sessiond%2Fsession.c;h=1ffe1d8e7ec05a47a2c0e1d372025eca764cc61a;hp=16f137eb0022f24af4a3a35d0d3e045bf022484d;hb=050349bbb362ea993533591532643022efeab864;hpb=82a3637f639486c07ff937ab03e1e9532379d26a diff --git a/ltt-sessiond/session.c b/ltt-sessiond/session.c index 16f137eb0..1ffe1d8e7 100644 --- a/ltt-sessiond/session.c +++ b/ltt-sessiond/session.c @@ -8,7 +8,7 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License @@ -49,11 +49,9 @@ static struct ltt_session_list ltt_session_list = { }; /* - * add_session_list + * Add a ltt_session structure to the global list. * - * Add a ltt_session structure to the global list. - * - * The caller MUST acquire the session list lock before. + * The caller MUST acquire the session list lock before. */ static void add_session_list(struct ltt_session *ls) { @@ -62,11 +60,9 @@ static void add_session_list(struct ltt_session *ls) } /* - * del_session_list - * - * Delete a ltt_session structure to the global list. + * Delete a ltt_session structure to the global list. * - * The caller MUST acquire the session list lock before. + * The caller MUST acquire the session list lock before. */ static void del_session_list(struct ltt_session *ls) { @@ -78,9 +74,7 @@ static void del_session_list(struct ltt_session *ls) } /* - * get_session_list - * - * Return a pointer to the session list. + * Return a pointer to the session list. */ struct ltt_session_list *get_session_list(void) { @@ -120,10 +114,8 @@ void unlock_session(struct ltt_session *session) } /* - * find_session_by_name - * - * Return a ltt_session structure ptr that matches name. - * If no session found, NULL is returned. + * Return a ltt_session structure ptr that matches name. + * If no session found, NULL is returned. */ struct ltt_session *find_session_by_name(char *name) { @@ -132,7 +124,7 @@ struct ltt_session *find_session_by_name(char *name) lock_session_list(); cds_list_for_each_entry(iter, <t_session_list.head, list) { - if (strncmp(iter->name, name, strlen(name)) == 0) { + if (strncmp(iter->name, name, NAME_MAX) == 0) { found = 1; break; } @@ -147,19 +139,17 @@ struct ltt_session *find_session_by_name(char *name) } /* - * destroy_session - * - * Delete session from the session list and free the memory. + * Delete session from the session list and free the memory. * - * Return -1 if no session is found. On success, return 1; + * Return -1 if no session is found. On success, return 1; */ int destroy_session(char *name) { int found = -1; - struct ltt_session *iter; + struct ltt_session *iter, *tmp; lock_session_list(); - cds_list_for_each_entry(iter, <t_session_list.head, list) { + cds_list_for_each_entry_safe(iter, tmp, <t_session_list.head, list) { if (strcmp(iter->name, name) == 0) { DBG("Destroying session %s", iter->name); del_session_list(iter); @@ -177,17 +167,12 @@ int destroy_session(char *name) } /* - * create_session - * - * Create a brand new session and add it to the session list. + * Create a brand new session and add it to the session list. */ int create_session(char *name, char *path) { int ret; - char date_time[NAME_MAX]; struct ltt_session *new_session; - time_t rawtime; - struct tm *timeinfo; new_session = find_session_by_name(name); if (new_session != NULL) { @@ -217,15 +202,7 @@ int create_session(char *name, char *path) /* Define session system path */ if (path != NULL) { - if (strstr(name, "auto-") == NULL) { - time(&rawtime); - timeinfo = localtime(&rawtime); - strftime(date_time, sizeof(date_time), "-%Y%m%d-%H%M%S", timeinfo); - } else { - date_time[0] = '\0'; - } - - if (asprintf(&new_session->path, "%s/%s%s", path, name, date_time) < 0) { + if (asprintf(&new_session->path, "%s", path) < 0) { ret = -ENOMEM; goto error_asprintf; }