[mythtv] Re: [mythtv-commits] mythtv commits

avalanche at beyondmonkey.com avalanche at beyondmonkey.com
Thu Nov 20 17:42:25 EST 2003


----- Original Message ----- 
From: "Isaac Richards" <ijr at po.cwru.edu>
To: "Development of mythtv" <mythtv-dev at mythtv.org>
Sent: Thursday, November 20, 2003 9:09 AM
Subject: Re: [mythtv] Re: [mythtv-commits] mythtv commits


> On Thursday 20 November 2003 02:15 am, David Engel wrote:
> > On Thu, Nov 20, 2003 at 06:15:32AM +0100, avalanche at beyondmonkey.com wrote:
> > > The recursive mutex is needed because the keyEvent calls qApp->update()
> > > and qApp->update() calls paintEvent and paintEvent depends on the
> > > same lock as keyEvent, resulting in a lockup.
> >
> > I was afraid of that.  What is the recommended way to protect a
> > critical section in Qt if it can pass you an event at almost any time?
> > I'm guessing now that the reentrancy I was seeing before was because
> > Qt was calling keyPressEvent when customEvent blocked using a QSocket.
> 
> I've just been doing the ignoreevents stuff to make things dump out, but it 
> may be possible to use QEventLoop::processEvents() to handle things.
> 
> The main issue is that QSocket needs the event loop just to send or receive 
> data.  If it were replaced with a non-async socket class that didn't use the 
> main event loop, most all of these problems would go away =)  Just a matter 
> of finding the time to do the work...
> 
> Isaac

Sounds good, I attached a patch with some changes to the mutex stuff. I think 
it should hold up till you're done with the new socket class. ;)

av
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epglocks.diff
Type: application/octet-stream
Size: 4376 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20031120/ffed793e/epglocks.obj


More information about the mythtv-dev mailing list