* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
- *
+ *
* 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
*/
#define _GNU_SOURCE
-#include <lttng/liblttngctl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <urcu/list.h>
-#include <uuid/uuid.h>
#include "lttngerr.h"
#include "session.h"
struct ltt_session *iter;
cds_list_for_each_entry(iter, <t_session_list.head, list) {
- if (strncmp(iter->name, name, strlen(iter->name)) == 0) {
+ if (strncmp(iter->name, name, strlen(name)) == 0) {
found = 1;
break;
}
cds_list_for_each_entry(iter, <t_session_list.head, list) {
if (uuid_compare(iter->uuid, *uuid) == 0) {
+ DBG("Destroying session %s", iter->name);
del_session_list(iter);
free(iter);
found = 1;
{
struct ltt_session *new_session;
+ DBG("Creating session %s", name);
+
new_session = find_session_by_name(name);
if (new_session != NULL) {
goto error;
* NO consumer attach to that session yet.
*/
new_session->ust_consumer = 0;
- new_session->lttng_consumer = 0;
+ new_session->kernel_consumer = 0;
/* Init list */
CDS_INIT_LIST_HEAD(&new_session->ust_traces);
- CDS_INIT_LIST_HEAD(&new_session->lttng_traces);
+ CDS_INIT_LIST_HEAD(&new_session->kernel_traces);
+
+ /* Set trace list counter */
+ new_session->ust_trace_count = 0;
+ new_session->kern_trace_count = 0;
/* Add new session to the global session list */
add_session_list(new_session);
* Iterate over the global session list and
* fill the lttng_session array.
*/
-void get_lttng_session(struct lttng_session *lt)
+void get_lttng_session(struct lttng_session *sessions)
{
int i = 0;
struct ltt_session *iter;
struct lttng_session lsess;
+ DBG("Getting all available session");
+
/* Iterate over session list and append data after
* the control struct in the buffer.
*/
cds_list_for_each_entry(iter, <t_session_list.head, list) {
/* Copy name and uuid */
- uuid_unparse(iter->uuid, lsess.uuid);
+ uuid_copy(lsess.uuid, iter->uuid);
strncpy(lsess.name, iter->name, sizeof(lsess.name));
lsess.name[sizeof(lsess.name) - 1] = '\0';
- memcpy(<[i], &lsess, sizeof(lsess));
+ memcpy(&sessions[i], &lsess, sizeof(lsess));
i++;
/* Reset struct for next pass */
memset(&lsess, 0, sizeof(lsess));