Davide Beatrici : mmdevapi: Handle CreateThread() failure in AudioClient's Start.
Module: wine Branch: master Commit: 3b5411941d7762f70a6e08a569463dce1356cc33 URL: https://gitlab.winehq.org/wine/wine/-/commit/3b5411941d7762f70a6e08a569463dc... Author: Davide Beatrici <git(a)davidebeatrici.dev> Date: Wed Jun 7 23:08:10 2023 +0200 mmdevapi: Handle CreateThread() failure in AudioClient's Start. --- dlls/mmdevapi/client.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dlls/mmdevapi/client.c b/dlls/mmdevapi/client.c index 03bfbabd536..bd861f8b890 100644 --- a/dlls/mmdevapi/client.c +++ b/dlls/mmdevapi/client.c @@ -408,8 +408,12 @@ HRESULT WINAPI client_Start(IAudioClient3 *iface) WINE_UNIX_CALL(start, ¶ms); if (SUCCEEDED(params.result) && !This->timer_thread) { - This->timer_thread = CreateThread(NULL, 0, timer_loop_func, This, 0, NULL); - SetThreadPriority(This->timer_thread, THREAD_PRIORITY_TIME_CRITICAL); + if ((This->timer_thread = CreateThread(NULL, 0, timer_loop_func, This, 0, NULL))) + SetThreadPriority(This->timer_thread, THREAD_PRIORITY_TIME_CRITICAL); + else { + IAudioClient3_Stop(&This->IAudioClient3_iface); + params.result = E_FAIL; + } } sessions_unlock();
participants (1)
-
Alexandre Julliard