[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop-devel
Subject:    KDevelop hangs in termination
From:       Kevin Gilbert <kev.gilbert () cdu ! edu ! au>
Date:       2005-11-18 1:45:58
Message-ID: 200511181104.03608.kev.gilbert () cdu ! edu ! au
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi,

For a while now KDevelop hangs on termination. I am not sure with what release it \
started and it could have something to do with the version of GCC that I am running. \
Current version details are:

gcc --version
gcc (GCC) 4.1.0 20051114 (experimental)

kdevelop --version
Qt: 3.3.4
KDE: 3.5 (RC1)
KDevelop: 3.3
(but note that this is compiled from SVN sources)

I have tracked the problem down to the termination code of the CPP background parser \
and have developed the following patch to overcome the hang.

--- kdevelop-3.3.0/languages/cpp/backgroundparser.cpp   2005-09-10 17:52:36.000000000 \
                +0930
+++ /usr/local/src/kde/kde-svn/kdevelop/languages/cpp/backgroundparser.cpp      \
2005-11-18 10:39:47.000000000 +0930 @@ -347,9 +347,6 @@
        QMutexLocker locker( &m_mutex );
        m_close = true;
        m_canParse.wakeAll();
-
-       while ( running() )
-               sleep( 1 );
 }

 bool BackgroundParser::filesInQueue()
@@ -398,8 +395,6 @@
        }

        kdDebug( 9007 ) << "!!!!!!!!!!!!!!!!!! BG PARSER DESTROYED !!!!!!!!!!!!" << \
                endl;
-
-       QThread::exit();
 }

 //kate: indent-mode csands; tab-width 4; space-indent off;
--- kdevelop-3.3.0/languages/cpp/cppsupportpart.cpp     2005-10-11 00:30:20.000000000 \
                +0930
+++ /usr/local/src/kde/kde-svn/kdevelop/languages/cpp/cppsupportpart.cpp        \
2005-11-18 10:39:55.000000000 +0930 @@ -248,7 +248,7 @@
        if ( m_backgroundParser )
        {
                m_backgroundParser->close();
-               //      m_backgroundParser->wait();
+               m_backgroundParser->wait();
                delete m_backgroundParser;
                m_backgroundParser = 0;
        }

==========

Cheers,

Kevin


[Attachment #5 (text/html)]

<html><head><meta name="qrichtext" content="1" /></head><body \
style="font-size:11pt;font-family:Nimbus Sans L"> <p>Hi,</p>
<p></p>
<p>For a while now KDevelop hangs on termination. I am not sure with what release it \
started and it could have something to do with the version of GCC that I am running. \
Current version details are:</p> <p></p>
<p>gcc --version</p>
<p>gcc (GCC) 4.1.0 20051114 (experimental)</p>
<p></p>
<p>kdevelop --version</p>
<p>Qt: 3.3.4</p>
<p>KDE: 3.5 (RC1)</p>
<p>KDevelop: 3.3</p>
<p>(but note that this is compiled from SVN sources)</p>
<p></p>
<p>I have tracked the problem down to the termination code of the CPP background \
parser and have developed the following patch to overcome the hang.</p> <p></p>
<p><span style="font-family:Monospace">--- \
kdevelop-3.3.0/languages/cpp/backgroundparser.cpp   2005-09-10 17:52:36.000000000 \
+0930</span></p> <p><span style="font-family:Monospace">+++ \
/usr/local/src/kde/kde-svn/kdevelop/languages/cpp/backgroundparser.cpp      \
2005-11-18 10:39:47.000000000 +0930</span></p> <p><span \
style="font-family:Monospace">@@ -347,9 +347,6 @@</span></p> <p><span \
style="font-family:Monospace">        QMutexLocker locker( &amp;m_mutex );</span></p> \
<p><span style="font-family:Monospace">        m_close = true;</span></p> <p><span \
style="font-family:Monospace">        m_canParse.wakeAll();</span></p> <p><span \
style="font-family:Monospace">-</span></p> <p><span style="font-family:Monospace">-   \
while ( running() )</span></p> <p><span style="font-family:Monospace">-               \
sleep( 1 );</span></p> <p><span style="font-family:Monospace"> }</span></p>
<p></p>
<p><span style="font-family:Monospace"> bool \
BackgroundParser::filesInQueue()</span></p> <p><span style="font-family:Monospace">@@ \
-398,8 +395,6 @@</span></p> <p><span style="font-family:Monospace">        \
}</span></p> <p></p>
<p><span style="font-family:Monospace">        kdDebug( 9007 ) &lt;&lt; \
&quot;!!!!!!!!!!!!!!!!!! BG PARSER DESTROYED !!!!!!!!!!!!&quot; &lt;&lt; \
endl;</span></p> <p><span style="font-family:Monospace">-</span></p>
<p><span style="font-family:Monospace">-       QThread::exit();</span></p>
<p><span style="font-family:Monospace"> }</span></p>
<p></p>
<p><span style="font-family:Monospace"> //kate: indent-mode csands; tab-width 4; \
space-indent off;</span></p> <p><span style="font-family:Monospace">--- \
kdevelop-3.3.0/languages/cpp/cppsupportpart.cpp     2005-10-11 00:30:20.000000000 \
+0930</span></p> <p><span style="font-family:Monospace">+++ \
/usr/local/src/kde/kde-svn/kdevelop/languages/cpp/cppsupportpart.cpp        \
2005-11-18 10:39:55.000000000 +0930</span></p> <p><span \
style="font-family:Monospace">@@ -248,7 +248,7 @@</span></p> <p><span \
style="font-family:Monospace">        if ( m_backgroundParser )</span></p> <p><span \
style="font-family:Monospace">        {</span></p> <p><span \
style="font-family:Monospace">                \
m_backgroundParser-&gt;close();</span></p> <p><span style="font-family:Monospace">-   \
//      m_backgroundParser-&gt;wait();</span></p> <p><span \
style="font-family:Monospace">+               \
m_backgroundParser-&gt;wait();</span></p> <p><span style="font-family:Monospace">     \
delete m_backgroundParser;</span></p> <p><span style="font-family:Monospace">         \
m_backgroundParser = 0;</span></p> <p><span style="font-family:Monospace">        \
}</span></p> <p></p>
<p>==========</p>
<p></p>
<p>Cheers,</p>
<p></p>
<p>Kevin</p>
<p></p>
</body></html>


[Attachment #6 (application/pgp-signature)]
_______________________________________________
KDevelop-devel mailing list
KDevelop-devel@barney.cs.uni-potsdam.de
http://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic