[mythtv-commits] Re: Ticket #326: RingBuffer remains paused while
dummyrec is filing it.
MythTV
mythtv at cvs.mythtv.org
Thu Sep 15 18:58:36 UTC 2005
#326: RingBuffer remains paused while dummyrec is filing it.
---------------------+------------------------------------------------------
Reporter: danielk | Owner: danielk
Type: defect | Status: assigned
Priority: blocker | Milestone: 0.19
Component: mythtv | Version: head
Severity: high | Resolution:
Cc: |
---------------------+------------------------------------------------------
Changes (by danielk):
* status: new => assigned
Comment:
The locking problem is not as easy to fix as it first appeared because we
can't release that QMutex in the event loop because it is not in the
thread that locks it.
But it is causing both the unresponsiveness on channel change problem and
the channel change from unlocked channel problem. Basically this lock is
being held when it shouldn't preventing the ringbuffer from sending data
to a remote frontend, and it is also not released in certain cases on
channel changes when there is no signal.
I'm not sure if pthread mutexes have this restriction but QMutex objects
can only be unlocked by the thread that locked it so
RingBufferInfo::Unpause() must be called by the same thread that calls
RingBufferInfo::Pause() or it simply doesn't unlock the mutex...
--
Ticket URL: <http://cvs.mythtv.org/trac/ticket/326>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list