[mythtv-commits] Ticket #12045: Live TV after a short while always make the frontend hang
MythTV
noreply at mythtv.org
Mon Mar 3 02:08:44 UTC 2014
#12045: Live TV after a short while always make the frontend hang
-------------------------+-------------------------------------------------
Reporter: jyavenard | Owner: Jean-Yves Avenard <jyavenard@…>
Type: Bug Report | Status: closed
- General | Milestone: unknown
Priority: blocker | Version: 0.27-fixes
Component: MythTV - | Resolution: fixed
Recording | Ticket locked: 0
Severity: medium |
Keywords: |
-------------------------+-------------------------------------------------
Comment (by Jean-Yves Avenard <jyavenard@…>):
In [changeset:"0b9470c87fe4d727e173cddf715270da7d18311e/mythtv"]:
{{{
#!CommitTicketReference repository="mythtv"
revision="0b9470c87fe4d727e173cddf715270da7d18311e"
Fix fileringbuffer locking up on read()
From time to time, most often seen during LiveTV,
FileRingBuffer::safe_read() would lock and not return for a long time (on
my system, it would block in excess of 20s).
Upon investigation, the issue occurs while reading a file currently being
written to, if a call to read() encountered EOF, returned early and a
following call to read() was made, before another write. Under those
conditions, read() wouldn't return for a long time, causing the backend to
abort the read and dropping the frontend connection.
So instead we now check the size of the current file via a call to POSIX
fstat and never try to read beyond the EOF position.
If the file being read isn't a regular, or fstat returned an error, the
old behaviour is used: read until we get as much data as we asked.
Surprisingly, this has fixed most of the issues I've been having for years
with liveTV:
- Stuttering or temporary free when close to the live
- Freeze at program transition.
Add debugging information while in file mode
Fixes #12045
(cherry picked from commit 20f7cd2858e79385ceec07b2c19c7e4f84714e18)
}}}
--
Ticket URL: <https://code.mythtv.org/trac/ticket/12045#comment:8>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list