Use remove_first_if instead of remove_locked_first_if when possible

This commit is contained in:
Maschell 2024-03-30 12:06:47 +01:00
parent f7c9dc445c
commit 004df036b8
3 changed files with 4 additions and 3 deletions

View File

@ -186,7 +186,7 @@ namespace WUPSConfigAPIBackend {
if (!remove_locked_first_if(sConfigCategoryMutex, sConfigCategories, [&handle](auto &cur) { return handle == cur.get(); })) {
{
// Ignore any attempts to destroy to create root item.
// Ignore any attempts to destroy the root item.
std::lock_guard lock(sConfigsMutex);
if (std::any_of(sConfigs.begin(), sConfigs.end(), [&handle](auto &cur) { return handle == cur.get(); })) {
return WUPSCONFIG_API_RESULT_SUCCESS;

View File

@ -46,8 +46,9 @@ extern "C" PluginBackendApiErrorType WUPSLoadAndLinkByDataHandle(const wups_back
extern "C" PluginBackendApiErrorType WUPSDeletePluginData(const wups_backend_plugin_data_handle *plugin_data_handle_list, uint32_t plugin_data_handle_list_size) {
if (plugin_data_handle_list != nullptr && plugin_data_handle_list_size != 0) {
std::lock_guard lock(gLoadedDataMutex);
for (auto &handle : std::span(plugin_data_handle_list, plugin_data_handle_list_size)) {
if (!remove_locked_first_if(gLoadedDataMutex, gLoadedData, [&handle](auto &cur) { return cur->getHandle() == handle; })) {
if (!remove_first_if(gLoadedData, [&handle](auto &cur) { return cur->getHandle() == handle; })) {
DEBUG_FUNCTION_LINE_ERR("Failed to delete plugin data by handle %08X", handle);
}
}

View File

@ -425,7 +425,7 @@ namespace StorageUtils {
auto res = StorageUtils::Helper::WriteStorageToSD(root, false);
// TODO: handle write error?
if (!remove_locked_first_if(gStorageMutex, gStorage, [&root](auto &cur) { return cur.getHandle() == (uint32_t) root; })) {
if (!remove_first_if(gStorage, [&root](auto &cur) { return cur.getHandle() == (uint32_t) root; })) {
DEBUG_FUNCTION_LINE_WARN("Failed to close storage: Not opened (\"%08X\")", root);
return WUPS_STORAGE_ERROR_NOT_FOUND;
}