<HTML>
<HEAD>
<TITLE>Re: [PyQt] subprocess.Popen() crash after QApplication()</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>So you are having trouble with PyQt -&gt; Qprocess -&gt; python as well as PyQt -&gt; subprocess?<BR>
<BR>
I guess I get around this somehow with the embedded interpereter, i.e.<BR>
<BR>
&nbsp;C Qapplication -&gt; Python embedded -&gt; PyQt -&gt; Qprocess/subprocess<BR>
<BR>
That is very interesting...<BR>
<BR>
Brian<BR>
<BR>
On 12/3/08 11:36 AM, &quot;denis&quot; &lt;<a href="denisbz@t-online.de">denisbz@t-online.de</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Thanks Brian,<BR>
<BR>
oddly, the C QApplication -&gt; C QProcess -&gt; python subprocess works<BR>
(mac 10.4.11 ppc, py 2.5.1, Qt 4.4.3, PyQt 4.4.2):<BR>
<BR>
QApplication app( argc, argv );<BR>
qPipe( &quot;| python2.5 crash.py&quot; ); -&gt; QProcess<BR>
# crash.py is just subprocess.Popen( &quot;date&quot; ) as posted<BR>
<BR>
So does C QApplication or C QProcess do the set_SA_RESTART stuff<BR>
in that twistedmatrix ticket, and the pyqt QApp / QProcess not ?<BR>
<BR>
Also import webbrowser is ok on mac,<BR>
20592 2 May 2007<BR>
/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/webbrowser.py<BR>
<BR>
cheers<BR>
-- denis<BR>
<BR>
<BR>
Brian Kelley wrote:<BR>
&gt; It&#8217;s actually way more complicated than that and I don&#8217;t think it has<BR>
&gt; to do with multiple threads, just with improper signal handling. Just<BR>
&gt; running normal python I can trigger this error by:<BR>
&gt;<BR>
&gt; Import webbrowser<BR>
&gt;<BR>
&gt; A good write up of the problem as originally discovered is here:<BR>
&gt;<BR>
&gt; <a href="http://twistedmatrix.com/trac/ticket/733">http://twistedmatrix.com/trac/ticket/733</a><BR>
&gt;<BR>
&gt; I have solved(?) this problem by copying over python 2.6&#8217;s subprocess<BR>
&gt; module (and webbrowser.py) and importing them locally. The 2.5 version<BR>
&gt; also appears to work in my embedded python interpreter that runs Qt<BR>
&gt; applications. It has never worked in the standard python interpreter.<BR>
&gt;<BR>
&gt; You may think about using QProcess in your python Qt application as<BR>
&gt; opposed to subprocess, I&#8217;m thinking about wrapping the subprocess API<BR>
&gt; and using a QProcess underneath the hood so I can easily swap them out.<BR>
&gt;<BR>
&gt; Brian Kelley<BR>
&gt;<BR>
&gt;<BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>