X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Ftrace-chunk.c;h=7407f38f391ce60351d9746bfa0813a2429679be;hp=cd81909ffc70ee6a36e464ae2d134e2dfbdd9cc9;hb=7ceefac4c8474606312e25ab822e510c41a3d644;hpb=53eb691c0c1d42e5b3f70697d8295ca4014e1dbc diff --git a/src/common/trace-chunk.c b/src/common/trace-chunk.c index cd81909ff..7407f38f3 100644 --- a/src/common/trace-chunk.c +++ b/src/common/trace-chunk.c @@ -983,6 +983,31 @@ end: return status; } +LTTNG_HIDDEN +enum lttng_trace_chunk_status +lttng_trace_chunk_get_session_output_directory_handle( + struct lttng_trace_chunk *chunk, + struct lttng_directory_handle **handle) +{ + enum lttng_trace_chunk_status status = LTTNG_TRACE_CHUNK_STATUS_OK; + + pthread_mutex_lock(&chunk->lock); + if (!chunk->session_output_directory) { + status = LTTNG_TRACE_CHUNK_STATUS_NONE; + *handle = NULL; + goto end; + } else { + const bool reference_acquired = lttng_directory_handle_get( + chunk->session_output_directory); + + assert(reference_acquired); + *handle = chunk->session_output_directory; + } +end: + pthread_mutex_unlock(&chunk->lock); + return status; +} + LTTNG_HIDDEN enum lttng_trace_chunk_status lttng_trace_chunk_borrow_chunk_directory_handle( struct lttng_trace_chunk *chunk,