[mythtv] [mythtv-commits] Ticket #1272: preview or lcd qsocket related segfault

Jim Westfall jwestfall at surrealistic.net
Fri Mar 31 22:04:33 UTC 2006


Looking at it while bored at work I think the following code is the 
trigger in lcddevice.cpp.

os << someText << "\n" << flush;

There is a race between QSocket::flush() via a QSocketNotifier event and 
this forced flush().

I think the easy fix it to change 

QTextStream os(socket);

to 

QTextStream os(socket->socketDevice());

so QTextStream is directly writing to the QSocketDevice and bypassing the  
thread-unsafe QSocket buffering.

jim

MythTV <mythtv at cvs.mythtv.org> wrote [03.31.06]:
> #1272: preview or lcd qsocket related segfault
> ------------------------------------+---------------------------------------
>  Reporter:  paulrwheeler at gmail.com  |        Owner:  danielk
>      Type:  defect                  |       Status:  new    
>  Priority:  minor                   |    Milestone:  0.20   
> Component:  mythtv                  |      Version:  head   
>  Severity:  medium                  |   Resolution:         
> ------------------------------------+---------------------------------------
> Comment (by danielk):
> 
>  Are you by any chance using streaming between the backend and frontend,
>  rather than an NFS/Samba share?
> 
>  Jim Westfall recently reported a race condition in streaming, which might
>  explain this segfault...
> 
> -- 
> Ticket URL: <http://svn.mythtv.org/trac/ticket/1272>
> MythTV <http://www.mythtv.org/>
> MythTV
> _______________________________________________
> mythtv-commits mailing list
> mythtv-commits at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits


More information about the mythtv-dev mailing list