Convert ltt_session to c++
[lttng-tools.git] / src / bin / lttng-sessiond / session.cpp
index e9d7261031d632fc44e4f820621a8e471a3e9e74..a2671dbaee3ec3a40447e1fcb20b5e89ef9d87c4 100644 (file)
@@ -1036,10 +1036,11 @@ void session_release(struct urcu_ref *ref)
        }
        lttng_dynamic_array_reset(&session->destroy_notifiers);
        lttng_dynamic_array_reset(&session->clear_notifiers);
+
        free(session->last_archived_chunk_name);
        free(session->base_path);
        lttng_trigger_put(session->rotate_trigger);
-       free(session);
+       delete (session);
        if (session_published) {
                /*
                 * Broadcast after free-ing to ensure the memory is
@@ -1215,9 +1216,11 @@ enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
                        goto error;
                }
        }
-       new_session = zmalloc<ltt_session>();
-       if (!new_session) {
-               PERROR("Failed to allocate an ltt_session structure");
+
+       try {
+               new_session = new ltt_session();
+       } catch (const std::exception& ex) {
+               ERR("Failed to create ltt_session: %s", ex.what());
                ret_code = LTTNG_ERR_NOMEM;
                goto error;
        }
This page took 0.026472 seconds and 5 git commands to generate.