Index: libs/libmythtv/RingBuffer.cpp
===================================================================
RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/RingBuffer.cpp,v
retrieving revision 1.120
diff -u -r1.120 RingBuffer.cpp
--- libs/libmythtv/RingBuffer.cpp	3 Jun 2005 18:08:45 -0000	1.120
+++ libs/libmythtv/RingBuffer.cpp	13 Jun 2005 07:39:10 -0000
@@ -1247,6 +1247,7 @@
     long long totfree = 0;
     int ret = -1;
     int used = 0;
+    int loops = 0;
 
     pausereadthread = false;
 
@@ -1273,8 +1274,12 @@
         {
             usleep(50000);
             totfree = ReadBufFree();
-            continue;
+            // check if too much time has been spent here
+            ++loops;
+            if (readsallowed && loops > 10)
+                continue;
         }
+        loops = 0;
 
         pthread_rwlock_rdlock(&rwlock);
         if (totfree > readblocksize && !commserror)
