diff --git a/client/SDL/SDL2/dialogs/sdl_dialogs.cpp b/client/SDL/SDL2/dialogs/sdl_dialogs.cpp index c3697f6c4..c2fe83eed 100644 --- a/client/SDL/SDL2/dialogs/sdl_dialogs.cpp +++ b/client/SDL/SDL2/dialogs/sdl_dialogs.cpp @@ -211,7 +211,7 @@ SSIZE_T sdl_retry_dialog(freerdp* instance, const char* what, size_t current, auto sdl = get_context(instance->context); auto settings = instance->context->settings; const size_t delay = freerdp_settings_get_uint32(settings, FreeRDP_TcpConnectTimeout); - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); if (!sdl->connection_dialog) return WINPR_ASSERTING_INT_CAST(SSIZE_T, delay); diff --git a/client/SDL/SDL2/sdl_freerdp.cpp b/client/SDL/SDL2/sdl_freerdp.cpp index 696057e29..31a9867af 100644 --- a/client/SDL/SDL2/sdl_freerdp.cpp +++ b/client/SDL/SDL2/sdl_freerdp.cpp @@ -225,7 +225,7 @@ static const struct sdl_exit_code_map_t* sdl_map_entry_by_code(int exit_code) static void sdl_hide_connection_dialog(SdlContext* sdl) { WINPR_ASSERT(sdl); - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); if (sdl->connection_dialog) sdl->connection_dialog->hide(); } @@ -491,7 +491,7 @@ static BOOL sdl_end_paint(rdpContext* context) auto sdl = get_context(context); WINPR_ASSERT(sdl); - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); const BOOL rc = sdl_push_user_event(SDL_USEREVENT_UPDATE, context); return rc; @@ -546,7 +546,7 @@ static BOOL sdl_desktop_resize(rdpContext* context) settings = context->settings; WINPR_ASSERT(settings); - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); gdi = context->gdi; if (!gdi_resize(gdi, freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth), freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight))) @@ -617,7 +617,7 @@ static BOOL sdl_pre_connect(freerdp* instance) if (!sdl_wait_for_init(sdl)) return FALSE; - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); if (!freerdp_settings_get_bool(settings, FreeRDP_UseCommonStdioCallbacks)) sdl->connection_dialog = std::make_unique(instance->context); if (sdl->connection_dialog) @@ -702,7 +702,7 @@ static void sdl_cleanup_sdl(SdlContext* sdl) if (!sdl) return; - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); sdl->windows.clear(); sdl->connection_dialog.reset(); @@ -791,7 +791,7 @@ static BOOL sdl_create_windows(SdlContext* sdl) static BOOL sdl_wait_create_windows(SdlContext* sdl) { - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); sdl->windows_created.clear(); if (!sdl_push_user_event(SDL_USEREVENT_CREATE_WINDOWS, sdl)) return FALSE; @@ -810,7 +810,7 @@ static BOOL sdl_wait_create_windows(SdlContext* sdl) static bool shall_abort(SdlContext* sdl) { - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); if (freerdp_shall_disconnect_context(sdl->context())) { if (sdl->rdp_thread_running) @@ -870,7 +870,7 @@ static int sdl_run(SdlContext* sdl) SDL_Log("got event %s [0x%08" PRIx32 "]", sdl_event_type_str(windowEvent.type), windowEvent.type); #endif - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); /* The session might have been disconnected while we were waiting for a new SDL event. * In that case ignore the SDL event and terminate. */ if (freerdp_shall_disconnect_context(sdl->context())) @@ -1209,7 +1209,7 @@ static void sdl_client_cleanup(SdlContext* sdl, int exit_code, const std::string break; default: { - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); if (sdl->connection_dialog && !error_msg.empty()) { sdl->connection_dialog->showError(error_msg.c_str()); @@ -1723,7 +1723,7 @@ int main(int argc, char* argv[]) BOOL SdlContext::update_fullscreen(BOOL enter) { - std::lock_guard lock(critical); + std::scoped_lock lock(critical); for (const auto& window : windows) { if (!sdl_push_user_event(SDL_USEREVENT_WINDOW_FULLSCREEN, &window.second, enter)) @@ -1735,13 +1735,13 @@ BOOL SdlContext::update_fullscreen(BOOL enter) BOOL SdlContext::update_minimize() { - std::lock_guard lock(critical); + std::scoped_lock lock(critical); return sdl_push_user_event(SDL_USEREVENT_WINDOW_MINIMIZE); } BOOL SdlContext::update_resizeable(BOOL enable) { - std::lock_guard lock(critical); + std::scoped_lock lock(critical); const auto settings = context()->settings; const BOOL dyn = freerdp_settings_get_bool(settings, FreeRDP_DynamicResolutionUpdate); diff --git a/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp b/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp index 64fa5530a..a580b463f 100644 --- a/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp +++ b/client/SDL/SDL3/dialogs/sdl_connection_dialog.cpp @@ -45,7 +45,7 @@ SDLConnectionDialog::~SDLConnectionDialog() bool SDLConnectionDialog::setTitle(const char* fmt, ...) { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); va_list ap = {}; va_start(ap, fmt); _title = print(fmt, ap); @@ -85,19 +85,19 @@ bool SDLConnectionDialog::showError(const char* fmt, ...) bool SDLConnectionDialog::show() { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); return show(_type_active); } bool SDLConnectionDialog::hide() { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); return show(SdlConnectionDialogWrapper::MSG_DISCARD); } bool SDLConnectionDialog::running() const { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); return _running; } @@ -143,7 +143,7 @@ bool SDLConnectionDialog::setModal() bool SDLConnectionDialog::updateInternal() { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); for (auto& btn : _list) { if (!btn.widget.update_text(_msg)) @@ -179,7 +179,7 @@ bool SDLConnectionDialog::handle(const SDL_Event& event) { case SDL_EVENT_USER_RETRY_DIALOG: { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); auto type = static_cast(event.user.code); return updateMsg(type); } @@ -289,7 +289,7 @@ bool SDLConnectionDialog::handle(const SDL_Event& event) bool SDLConnectionDialog::visible() const { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); return SdlWidgetList::visible(); } @@ -397,7 +397,7 @@ void SDLConnectionDialog::destroyWindow() bool SDLConnectionDialog::show(SdlConnectionDialogWrapper::MsgType type, const char* fmt, va_list ap) { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); _msg = print(fmt, ap); return show(type); } @@ -436,7 +436,7 @@ std::string SDLConnectionDialog::print(const char* fmt, va_list ap) bool SDLConnectionDialog::setTimer(Uint32 timeoutMS) { - std::lock_guard lock(_mux); + std::scoped_lock lock(_mux); resetTimer(); _timer = SDL_AddTimer(timeoutMS, &SDLConnectionDialog::timeout, this); diff --git a/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.hpp b/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.hpp index 1ba3259df..db96b689c 100644 --- a/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.hpp +++ b/client/SDL/SDL3/dialogs/sdl_connection_dialog_wrapper.hpp @@ -116,7 +116,7 @@ class SdlConnectionDialogWrapper void push(EventArg&& arg); mutable std::mutex _mux; - std::unique_ptr _connection_dialog{}; - std::queue _queue{}; + std::unique_ptr _connection_dialog; + std::queue _queue; wLog* _log = nullptr; }; diff --git a/client/SDL/SDL3/sdl_clip.cpp b/client/SDL/SDL3/sdl_clip.cpp index 4523de33a..59e7afdef 100644 --- a/client/SDL/SDL3/sdl_clip.cpp +++ b/client/SDL/SDL3/sdl_clip.cpp @@ -592,7 +592,7 @@ std::shared_ptr sdlClip::ReceiveFormatDataRequestHandle( ClipboardGetFormatName(clipboard->_system, localFormatId)); ClipboardLockGuard systemlock(clipboard->_system); - std::lock_guard lock(clipboard->_lock); + std::scoped_lock lock(clipboard->_lock); const UINT32 fileFormatId = ClipboardGetFormatId(clipboard->_system, s_type_FileGroupDescriptorW); @@ -725,7 +725,7 @@ UINT sdlClip::ReceiveFormatDataResponse(CliprdrClientContext* context, WINPR_ASSERT(clipboard); ClipboardLockGuard systemlock(clipboard->_system); - std::lock_guard lock(clipboard->_lock); + std::scoped_lock lock(clipboard->_lock); if (clipboard->_request_queue.empty()) { WLog_Print(clipboard->_log, WLOG_ERROR, "no pending format request"); @@ -817,7 +817,7 @@ const void* sdlClip::ClipDataCb(void* userdata, const char* mime_type, size_t* s { ClipboardLockGuard systemlock(clip->_system); - std::lock_guard lock(clip->_lock); + std::scoped_lock lock(clip->_lock); /* check if we already used this mime type */ auto cache = clip->_cache_data.find(mime_type); @@ -858,7 +858,7 @@ const void* sdlClip::ClipDataCb(void* userdata, const char* mime_type, size_t* s if (status != WAIT_OBJECT_0 + 1) { - std::lock_guard lock(clip->_lock); + std::scoped_lock lock(clip->_lock); clip->_request_queue.pop(); if (status == WAIT_TIMEOUT) @@ -871,7 +871,7 @@ const void* sdlClip::ClipDataCb(void* userdata, const char* mime_type, size_t* s { ClipboardLockGuard systemlock(clip->_system); - std::lock_guard lock(clip->_lock); + std::scoped_lock lock(clip->_lock); auto request = clip->_request_queue.front(); clip->_request_queue.pop(); @@ -903,7 +903,7 @@ void sdlClip::ClipCleanCb(void* userdata) auto clip = static_cast(userdata); WINPR_ASSERT(clip); ClipboardLockGuard give_me_a_name(clip->_system); - std::lock_guard lock(clip->_lock); + std::scoped_lock lock(clip->_lock); ClipboardEmpty(clip->_system); } diff --git a/client/SDL/SDL3/sdl_freerdp.cpp b/client/SDL/SDL3/sdl_freerdp.cpp index 5fc32fe83..91fde8037 100644 --- a/client/SDL/SDL3/sdl_freerdp.cpp +++ b/client/SDL/SDL3/sdl_freerdp.cpp @@ -495,7 +495,7 @@ static BOOL sdl_desktop_resize(rdpContext* context) settings = context->settings; WINPR_ASSERT(settings); - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); gdi = context->gdi; if (!gdi_resize(gdi, freerdp_settings_get_uint32(settings, FreeRDP_DesktopWidth), freerdp_settings_get_uint32(settings, FreeRDP_DesktopHeight))) @@ -644,7 +644,7 @@ static void sdl_cleanup_sdl(SdlContext* sdl) if (!sdl) return; - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); sdl->windows.clear(); sdl->dialog.destroy(); @@ -763,7 +763,7 @@ static BOOL sdl_wait_create_windows(SdlContext* sdl) static bool shall_abort(SdlContext* sdl) { - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); if (freerdp_shall_disconnect_context(sdl->context())) { if (sdl->rdp_thread_running) @@ -829,7 +829,7 @@ static int sdl_run(SdlContext* sdl) sdl_event_type_str(windowEvent.type), windowEvent.type); #endif { - std::lock_guard lock(sdl->critical); + std::scoped_lock lock(sdl->critical); /* The session might have been disconnected while we were waiting for a * new SDL event. In that case ignore the SDL event and terminate. */ if (freerdp_shall_disconnect_context(sdl->context())) diff --git a/server/proxy/modules/dyn-channel-dump/dyn-channel-dump.cpp b/server/proxy/modules/dyn-channel-dump/dyn-channel-dump.cpp index ba16a573d..c8a1f1383 100644 --- a/server/proxy/modules/dyn-channel-dump/dyn-channel-dump.cpp +++ b/server/proxy/modules/dyn-channel-dump/dyn-channel-dump.cpp @@ -103,7 +103,7 @@ class ChannelData bool add(const std::string& name, WINPR_ATTR_UNUSED bool back) { - std::lock_guard guard(_mux); + std::scoped_lock guard(_mux); if (_map.find(name) == _map.end()) { WLog_INFO(TAG, "adding '%s' to dump list", name.c_str()); @@ -114,7 +114,7 @@ class ChannelData std::ofstream stream(const std::string& name, bool back) { - std::lock_guard guard(_mux); + std::scoped_lock guard(_mux); auto& atom = _map[name]; auto count = atom++; auto path = filepath(name, back, count);