X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=src%2Ffd-cache%2Ffd-cache.c;h=f22e7eb569bf10658f21460367a29b085a6f062c;hb=89ec984ed8142a2cd79603e8d7b26544fc17d2a7;hp=cb1472b9a84347ebfcffec000dddd7b0c8f772d0;hpb=3f7d4d90b0456de9d34fac337350818ef06163bd;p=babeltrace.git diff --git a/src/fd-cache/fd-cache.c b/src/fd-cache/fd-cache.c index cb1472b9..f22e7eb5 100644 --- a/src/fd-cache/fd-cache.c +++ b/src/fd-cache/fd-cache.c @@ -1,33 +1,14 @@ /* - * fd-cache.c - * - * Babeltrace - File descriptor cache + * SPDX-License-Identifier: MIT * * Copyright 2019 Francis Deslauriers * - * Author: Francis Deslauriers - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Babeltrace - File descriptor cache */ +#define BT_LOG_OUTPUT_LEVEL (fdc->log_level) #define BT_LOG_TAG "FD-CACHE" -#include "logging.h" +#include "logging/log.h" #include #include @@ -101,11 +82,11 @@ void file_key_destroy(gpointer data) g_free(fk); } -BT_HIDDEN -int bt_fd_cache_init(struct bt_fd_cache *fdc) +int bt_fd_cache_init(struct bt_fd_cache *fdc, int log_level) { int ret = 0; + fdc->log_level = log_level; fdc->cache = g_hash_table_new_full(file_key_hash, file_key_equal, file_key_destroy, (GDestroyNotify) fd_cache_handle_internal_destroy); if (!fdc->cache) { @@ -115,20 +96,22 @@ int bt_fd_cache_init(struct bt_fd_cache *fdc) return ret; } -BT_HIDDEN void bt_fd_cache_fini(struct bt_fd_cache *fdc) { - BT_ASSERT(fdc->cache); + if (!fdc->cache) { + goto end; + } + /* * All handle should have been removed for the hashtable at this point. */ BT_ASSERT(g_hash_table_size(fdc->cache) == 0); g_hash_table_destroy(fdc->cache); +end: return; } -BT_HIDDEN struct bt_fd_cache_handle *bt_fd_cache_get_handle(struct bt_fd_cache *fdc, const char *path) { @@ -211,7 +194,6 @@ end: return (struct bt_fd_cache_handle *) fd_internal; } -BT_HIDDEN void bt_fd_cache_put_handle(struct bt_fd_cache *fdc, struct bt_fd_cache_handle *handle) {