From dd85a561abdfce76bc3c7e6fa3d2a496cd4de79a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?=
 <rafael.carre@savoirfairelinux.com>
Date: Mon, 4 Jul 2011 11:56:35 -0400
Subject: [PATCH] Do not return FALSE if sem_wait() fails with EAGAIN

---
 sflphone-client-gnome/src/video/video_preview.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sflphone-client-gnome/src/video/video_preview.c b/sflphone-client-gnome/src/video/video_preview.c
index a179adc31a..723ce24765 100644
--- a/sflphone-client-gnome/src/video/video_preview.c
+++ b/sflphone-client-gnome/src/video/video_preview.c
@@ -360,12 +360,12 @@ readFrameFromShm(VideoPreviewPrivate *priv)
     if (sem_set_id == -1)
         return FALSE;
 
-    if (sem_wait(sem_set_id) == -1) {
+    while (sem_wait(sem_set_id) == -1) {
       if (errno != EAGAIN) {
           g_print("Could not read from shared memory!\n");
           perror("shm: ");
+          return FALSE;
       }
-      return FALSE;
     }
 
     if (priv->using_clutter) {
-- 
GitLab