projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix session list locking
[lttng-tools.git]
/
ltt-sessiond
/
session.h
diff --git
a/ltt-sessiond/session.h
b/ltt-sessiond/session.h
index 9eaa1c535e783897f0ed0ce90bf806b89f7e5e30..837b9062d35a80d364a7d3ee7b6492ecf073400e 100644
(file)
--- a/
ltt-sessiond/session.h
+++ b/
ltt-sessiond/session.h
@@
-19,7
+19,7
@@
#ifndef _LTT_SESSION_H
#define _LTT_SESSION_H
#ifndef _LTT_SESSION_H
#define _LTT_SESSION_H
-#include <lttng/lttng.h>
+
//
#include <lttng/lttng.h>
#include <urcu/list.h>
/*
#include <urcu/list.h>
/*
@@
-37,10
+37,14
@@
struct ltt_session_list {
* actions on that list.
*/
pthread_mutex_t lock;
* actions on that list.
*/
pthread_mutex_t lock;
+
/*
/*
- * Number of element in the list.
+ * Number of element in the list. The session list lock MUST be acquired if
+ * this counter is used when iterating over the session list.
*/
unsigned int count;
*/
unsigned int count;
+
+ /* Linked list head */
struct cds_list_head head;
};
struct cds_list_head head;
};
@@
-66,11
+70,13
@@
struct ltt_session {
/* Prototypes */
int create_session(char *name, char *path);
int destroy_session(char *name);
/* Prototypes */
int create_session(char *name, char *path);
int destroy_session(char *name);
-void get_lttng_session(struct lttng_session *sessions);
+
void lock_session(struct ltt_session *session);
void lock_session(struct ltt_session *session);
+void lock_session_list(void);
void unlock_session(struct ltt_session *session);
void unlock_session(struct ltt_session *session);
+void unlock_session_list(void);
+
struct ltt_session *find_session_by_name(char *name);
struct ltt_session *find_session_by_name(char *name);
-unsigned int get_session_count(void);
struct ltt_session_list *get_session_list(void);
#endif /* _LTT_SESSION_H */
struct ltt_session_list *get_session_list(void);
#endif /* _LTT_SESSION_H */
This page took
0.025329 seconds
and
5
git commands to generate.