if (ret) {
PERROR("Failed to fstat directory file descriptor %i", dirfd);
lttng_directory_handle_release(&handle->ref);
+ handle = NULL;
+ goto end;
}
} else {
handle->directory_inode = RESERVED_AT_FDCWD_INO;
struct lttng_directory_handle *handle =
container_of(ref, struct lttng_directory_handle, ref);
+ if (handle->destroy_cb) {
+ handle->destroy_cb(handle, handle->destroy_cb_data);
+ }
+
if (handle->dirfd == AT_FDCWD || handle->dirfd == -1) {
goto end;
}
bool lttng_directory_handle_equals(const struct lttng_directory_handle *lhs,
const struct lttng_directory_handle *rhs)
{
- return strcmp(lhs->path, rhs->path) == 0;
+ return strcmp(lhs->base_path, rhs->base_path) == 0;
}
static