projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: define _LGPL_SOURCE in C files
[lttng-tools.git]
/
src
/
common
/
config
/
config.c
diff --git
a/src/common/config/config.c
b/src/common/config/config.c
index a1ad95e462d7d3ef1060beff9ac3347b6d9b7cc6..f93c5a678f12df5e8024bc21197a7900df12ce84 100644
(file)
--- a/
src/common/config/config.c
+++ b/
src/common/config/config.c
@@
-16,6
+16,7
@@
*/
#define _GNU_SOURCE
*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
@@
-118,6
+119,7
@@
const char * const config_domain_type_kernel = "KERNEL";
const char * const config_domain_type_ust = "UST";
const char * const config_domain_type_jul = "JUL";
const char * const config_domain_type_log4j = "LOG4J";
const char * const config_domain_type_ust = "UST";
const char * const config_domain_type_jul = "JUL";
const char * const config_domain_type_log4j = "LOG4J";
+const char * const config_domain_type_python = "PYTHON";
const char * const config_buffer_type_per_pid = "PER_PID";
const char * const config_buffer_type_per_uid = "PER_UID";
const char * const config_buffer_type_per_pid = "PER_PID";
const char * const config_buffer_type_per_uid = "PER_UID";
@@
-354,7
+356,7
@@
end:
}
LTTNG_HIDDEN
}
LTTNG_HIDDEN
-struct config_writer *config_writer_create(int fd_output)
+struct config_writer *config_writer_create(int fd_output
, int indent
)
{
int ret;
struct config_writer *writer;
{
int ret;
struct config_writer *writer;
@@
-380,12
+382,12
@@
struct config_writer *config_writer_create(int fd_output)
ret = xmlTextWriterSetIndentString(writer->writer,
BAD_CAST config_xml_indent_string);
ret = xmlTextWriterSetIndentString(writer->writer,
BAD_CAST config_xml_indent_string);
- if (ret)
{
+ if (ret) {
goto error_destroy;
}
goto error_destroy;
}
- ret = xmlTextWriterSetIndent(writer->writer,
1
);
- if (ret)
{
+ ret = xmlTextWriterSetIndent(writer->writer,
indent
);
+ if (ret) {
goto error_destroy;
}
goto error_destroy;
}
@@
-752,6
+754,8
@@
int get_domain_type(xmlChar *domain)
ret = LTTNG_DOMAIN_JUL;
} else if (!strcmp((char *) domain, config_domain_type_log4j)) {
ret = LTTNG_DOMAIN_LOG4J;
ret = LTTNG_DOMAIN_JUL;
} else if (!strcmp((char *) domain, config_domain_type_log4j)) {
ret = LTTNG_DOMAIN_LOG4J;
+ } else if (!strcmp((char *) domain, config_domain_type_python)) {
+ ret = LTTNG_DOMAIN_PYTHON;
} else {
goto error;
}
} else {
goto error;
}
@@
-1960,7
+1964,9
@@
int process_context_node(xmlNodePtr context_node,
xmlNodePtr perf_attr_node;
/* perf */
xmlNodePtr perf_attr_node;
/* perf */
- context.ctx = LTTNG_EVENT_CONTEXT_PERF_COUNTER;
+ context.ctx = handle->domain.type == LTTNG_DOMAIN_KERNEL ?
+ LTTNG_EVENT_CONTEXT_PERF_CPU_COUNTER :
+ LTTNG_EVENT_CONTEXT_PERF_THREAD_COUNTER;
for (perf_attr_node = xmlFirstElementChild(context_child_node);
perf_attr_node; perf_attr_node =
xmlNextElementSibling(perf_attr_node)) {
for (perf_attr_node = xmlFirstElementChild(context_child_node);
perf_attr_node; perf_attr_node =
xmlNextElementSibling(perf_attr_node)) {
@@
-2152,6
+2158,7
@@
int process_session_node(xmlNodePtr session_node, const char *session_name,
struct lttng_domain *ust_domain = NULL;
struct lttng_domain *jul_domain = NULL;
struct lttng_domain *log4j_domain = NULL;
struct lttng_domain *ust_domain = NULL;
struct lttng_domain *jul_domain = NULL;
struct lttng_domain *log4j_domain = NULL;
+ struct lttng_domain *python_domain = NULL;
for (node = xmlFirstElementChild(session_node); node;
node = xmlNextElementSibling(node)) {
for (node = xmlFirstElementChild(session_node); node;
node = xmlNextElementSibling(node)) {
@@
-2285,6
+2292,13
@@
int process_session_node(xmlNodePtr session_node, const char *session_name,
}
log4j_domain = domain;
break;
}
log4j_domain = domain;
break;
+ case LTTNG_DOMAIN_PYTHON:
+ if (python_domain) {
+ /* Same domain seen twice, invalid! */
+ goto domain_init_error;
+ }
+ python_domain = domain;
+ break;
default:
WARN("Invalid domain type");
goto domain_init_error;
default:
WARN("Invalid domain type");
goto domain_init_error;
@@
-2347,6
+2361,7
@@
error:
free(ust_domain);
free(jul_domain);
free(log4j_domain);
free(ust_domain);
free(jul_domain);
free(log4j_domain);
+ free(python_domain);
free(name);
return ret;
}
free(name);
return ret;
}
This page took
0.024976 seconds
and
4
git commands to generate.