[kde-solaris] KDE 3.3.0 Solaris 8 and 9 packages available

Stefan Teleman steleman at nyc.rr.com
Sat Sep 18 22:02:27 CEST 2004


The source of the problem is in KURLCompletion::listDirectories()
in kdelibs/kio/kio/kurlcompletion.cpp. i suspect it's a thread 
syncrhonization problem. The most likely culprit seems to be

d->dirListThread->start();
d->dirListThread->wait( 200 );
addMatches( d->dirListThread->matches() );
return finished();

i think d->dirListThread->wait() should be called with no timeout 
arguments (let the default timeout argument) -- i suspect 
QThread::wait() calls pthread_join(3THR) on the pthread_t initialized 
inside QThread::start() -- this would guarantee that QThread::wait() 
blocks until pthread_join() returns. So i'm suspecting that two lines

addMatches( d->dirListThread->matches() );
return finished();

are being called in the caller thread before the thread filling the 
list has returned. This is a suspicion of mine from reading the code, 
i have to build this with -g to step through and really see if that's 
the case.

--Stefan

-----

On Saturday 18 September 2004 06:32, Christopher Layne wrote:
> KURLCOMPLETION_LOCAL_KIO
>
> Definitely fixed it for me. Thanks!
>
> BTW:
>
> Any idea as to the source of the problem when not using Kio?

-- 
Stefan Teleman          'Nobody Expects the Spanish Inquisition'
steleman at nyc.rr.com                          -Monty Python



More information about the kde-solaris mailing list