goto end;
}
+ if(session->shm_path[0] != '\0') {
+ ret = config_writer_write_element_string(writer,
+ config_element_shared_memory_path,
+ session->shm_path);
+ if (ret) {
+ ret = LTTNG_ERR_SAVE_IO_FAIL;
+ goto end;
+ }
+ }
+
ret = save_domains(writer, session);
if (ret) {
goto end;
extern const char * const config_element_max_size;
extern const char * const config_element_pid;
extern const char * const config_element_pids;
+extern const char * const config_element_shared_memory_path;
extern const char * const config_domain_type_kernel;
extern const char * const config_domain_type_ust;
const char * const config_element_max_size = "max_size";
const char * const config_element_pid = "pid";
const char * const config_element_pids = "pids";
+const char * const config_element_shared_memory_path = "shared_memory_path";
const char * const config_domain_type_kernel = "KERNEL";
const char * const config_domain_type_ust = "UST";
int ret, started = -1, snapshot_mode = -1;
uint64_t live_timer_interval = UINT64_MAX;
char *name = NULL;
+ xmlChar *shm_path = NULL;
xmlNodePtr domains_node = NULL;
xmlNodePtr output_node = NULL;
xmlNodePtr node;
config_element_output)) {
/* output */
output_node = node;
+ } else if (!shm_path && !strcmp((const char *) node->name,
+ config_element_shared_memory_path)) {
+ /* shared memory path */
+ xmlChar *node_content = xmlNodeGetContent(node);
+ if (!node_content) {
+ ret = -LTTNG_ERR_NOMEM;
+ goto error;
+ }
+
+ shm_path = node_content;
} else {
/* attributes, snapshot_mode or live_timer_interval */
xmlNodePtr attributes_child =
goto error;
}
+ if (shm_path) {
+ ret = lttng_set_session_shm_path((const char *) name,
+ (const char *) shm_path);
+ if (ret) {
+ goto error;
+ }
+ }
+
for (node = xmlFirstElementChild(domains_node); node;
node = xmlNextElementSibling(node)) {
ret = process_domain_node(node, name);
free(log4j_domain);
free(python_domain);
free(name);
+ xmlFree(shm_path);
return ret;
}
<xs:complexType name="session_type">
<xs:all>
<xs:element name="name" type="name_type"/>
+ <xs:element name="shared_memory_path" type="xs:string" minOccurs="0"/>
<xs:element name="domains" type="domain_list_type" minOccurs="0"/>
<xs:element name="started" type="xs:boolean" default="0" minOccurs="0"/>
<xs:element name="attributes" type="session_attributes_type" minOccurs="0"/>