So, I have these completion queries running for 27 minutes, even after I type
another string to complete. Can virtuoso queries be cancelled while they're 
running?

Looking at nepomukqueryservice I see that it's doing a blocking "wait for ready
read" for 10 minutes on the soprano socket:

#0  0x00007ffff435f803 in select () from /lib64/libc.so.6
#1  0x00007ffff043d76d in Soprano::Socket::waitForReadyRead 
(this=0x7fffe4002fd0, timeout=600000) at 
/d/kde/src/4/soprano/client/socket.cpp:86
#2  0x00007ffff04437e0 in Soprano::Client::ClientConnection::iteratorNext 
(this=0x7fffe4003570, id=995280421) at 
/d/kde/src/4/soprano/client/clientconnection.cp
p:570
#3  0x00007ffff044791c in 
Soprano::Client::ClientQueryResultIteratorBackend::next (this=0x7fffe4003880) 
at /d/kde/src/4/soprano/client/clientqueryresultiterator
backend.cpp:46
#4  0x00007fffeba30edf in Soprano::Iterator<Soprano::BindingSet>::next 
(this=0x7fffeb80ea90) at 
/d/kde/inst/kde4.9/include/Soprano/../soprano/iterator.h:239
#5  0x00007fffeba30366 in Nepomuk2::Query::SearchRunnable::run (this=0x7a3140) 
at /d/kde/src/4/nepomuk-core/services/queryservice/searchrunnable.cpp:91
#6  0x00007ffff78e12fd in QThreadPoolThread::run (this=0x801860) at 
concurrent/qthreadpool.cpp:107
#7  0x00007ffff78f1f28 in QThreadPrivate::start (arg=0x801860) at 
thread/qthread_unix.cpp:307
#8  0x00007ffff7631f05 in start_thread () from /lib64/libpthread.so.0
#9  0x00007ffff436610d in clone () from /lib64/libc.so.6

I presume this means there's no way to cancel a running query?
Even just closing the socket might not make virtuoso realize that it should 
abort, right?
But even if it did, I'm not sure we want to close and reopen sockets at every 
keypress...

-- 
David Faure, [email protected], http://www.davidfaure.fr
Sponsored by Nokia to work on KDE, incl. KDE Frameworks 5

_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk

Reply via email to