From a8cef60e54aaeeeeb5f5a5171f8e0358a5f0884e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Wed, 15 Jan 2025 12:30:05 -0500 Subject: [PATCH] Decorate intentional sleeps while holding lock So they're auto-triaged in Synchronet. --- src/conio/sdl_con.c | 9 +++++++-- src/xpdev/xpbeep.c | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index ab5842af73..9a6312250b 100644 --- a/src/conio/sdl_con.c +++ b/src/conio/sdl_con.c @@ -248,8 +248,10 @@ static void sdl_user_func(int func, ...) return; } va_end(argptr); - while((rv = sdl.PeepEvents(&ev, 1, SDL_ADDEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT))!=1) + while((rv = sdl.PeepEvents(&ev, 1, SDL_ADDEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT))!=1) { + // coverity[sleep] YIELD(); + } break; } pthread_mutex_unlock(&sdl_ufunc_mtx); @@ -274,8 +276,10 @@ static int sdl_user_func_ret(int func, ...) case SDL_USEREVENT_SETVIDMODE: ev.user.data1 = (void *)(intptr_t)va_arg(argptr, int); ev.user.data2 = (void *)(intptr_t)va_arg(argptr, int); - while(sdl.PeepEvents(&ev, 1, SDL_ADDEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT)!=1) + while(sdl.PeepEvents(&ev, 1, SDL_ADDEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT)!=1) { + // coverity[sleep] YIELD(); + } break; case SDL_USEREVENT_GETWINPOS: ev.user.data1 = va_arg(argptr, void *); @@ -284,6 +288,7 @@ static int sdl_user_func_ret(int func, ...) case SDL_USEREVENT_INIT: case SDL_USEREVENT_QUIT: while(sdl.PeepEvents(&ev, 1, SDL_ADDEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT)!=1) + // coverity[sleep] YIELD(); break; default: diff --git a/src/xpdev/xpbeep.c b/src/xpdev/xpbeep.c index 330e4060a4..eed133bd58 100644 --- a/src/xpdev/xpbeep.c +++ b/src/xpdev/xpbeep.c @@ -738,6 +738,7 @@ xptone_complete(void) #ifdef XPDEV_THREAD_SAFE pthread_mutex_lock(&handle_mutex); #endif + // coverity[sleep] xptone_complete_locked(); #ifdef XPDEV_THREAD_SAFE pthread_mutex_unlock(&handle_mutex); @@ -818,6 +819,7 @@ xptone_close(void) #ifdef XPDEV_THREAD_SAFE pthread_mutex_lock(&handle_mutex); #endif + // coverity[sleep] ret = xptone_close_locked(); #ifdef XPDEV_THREAD_SAFE pthread_mutex_unlock(&handle_mutex); @@ -1050,6 +1052,7 @@ void xp_play_sample_thread(void *data) waited = true; } else { + // coverity[sleep] xptone_close_locked(); } } -- GitLab