[vlc-commits] win32/inhibit: remove redundant flag

Rémi Denis-Courmont git at videolan.org
Wed Dec 19 16:53:48 CET 2018


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Dec 18 20:19:27 2018 +0200| [45b54b6064db77917b7cf4de640e789d3515df3f] | committer: Steve Lhomme

win32/inhibit: remove redundant flag

Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=45b54b6064db77917b7cf4de640e789d3515df3f
---

 modules/video_output/win32/inhibit.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/modules/video_output/win32/inhibit.c b/modules/video_output/win32/inhibit.c
index 893a809540..d23dcc33e4 100644
--- a/modules/video_output/win32/inhibit.c
+++ b/modules/video_output/win32/inhibit.c
@@ -34,7 +34,6 @@ struct vlc_inhibit_sys
     vlc_mutex_t mutex;
     vlc_cond_t cond;
     vlc_thread_t thread;
-    bool signaled;
     unsigned int mask;
 };
 
@@ -43,7 +42,6 @@ static void Inhibit (vlc_inhibit_t *ih, unsigned mask)
     vlc_inhibit_sys_t *sys = ih->p_sys;
     vlc_mutex_lock(&sys->mutex);
     sys->mask = mask;
-    sys->signaled = true;
     vlc_mutex_unlock(&sys->mutex);
     vlc_cond_signal(&sys->cond);
 }
@@ -60,17 +58,14 @@ static void* Run(void* obj)
     vlc_inhibit_sys_t *sys = ih->p_sys;
     EXECUTION_STATE prev_state = ES_CONTINUOUS;
 
-    while (true)
+    for  (unsigned int mask = 0;;)
     {
-        unsigned int mask;
-
         vlc_mutex_lock(&sys->mutex);
         mutex_cleanup_push(&sys->mutex);
         vlc_cleanup_push(RestoreStateOnCancel, ih);
-        while (!sys->signaled)
+        while (mask == sys->mask)
             vlc_cond_wait(&sys->cond, &sys->mutex);
         mask = sys->mask;
-        sys->signaled = false;
         vlc_mutex_unlock(&sys->mutex);
         vlc_cleanup_pop();
         vlc_cleanup_pop();
@@ -107,7 +102,7 @@ static int OpenInhibit (vlc_object_t *obj)
 
     vlc_mutex_init(&sys->mutex);
     vlc_cond_init(&sys->cond);
-    sys->signaled = false;
+    sys->mask = 0;
 
     /* SetThreadExecutionState always needs to be called from the same thread */
     if (vlc_clone(&sys->thread, Run, ih, VLC_THREAD_PRIORITY_LOW))



More information about the vlc-commits mailing list