-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101244/#review2939
-----------------------------------------------------------



kio/kio/scheduler.cpp
<http://git.reviewboard.kde.org/r/101244/#comment2513>

    Glad to see my idea worked ;)
    Just a question, does it really matter that the emitter of the signal would 
set m_checkOnHold to true (if you remove m_ignoreOnHoldListChanged)? After all 
there is a slave on hold now, and maybe in some cases we end up opening this 
url in this process after all?
    
    I'm not sure the m_ignoreOnHoldListChanged bool is necessary.


- David


On April 27, 2011, 10:57 p.m., Dawit Alemayehu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/101244/
> -----------------------------------------------------------
> 
> (Updated April 27, 2011, 10:57 p.m.)
> 
> 
> Review request for kdelibs.
> 
> 
> Summary
> -------
> 
> The attached patch address a couple of bugs in the KIO put-slave-on-hold 
> functionality:
> 
> Problem:
> ======
> #1. If a user clicks a link on a page, e.g. 
> ftp://ftp.kde.org/pub/kde/README_UPLOAD, then KRun will first issue a get 
> (CMD_GET) to determine its content-type and put the ioslave on hold so that 
> the application associated with the returned content-type can handle it. In 
> case of our example that would be kate/kwrite. Unfortunately, the ioslave put 
> on hold will not be reused because almost all applications will use 
> KIO::file_copy (CMD_COPY) to make a local copy before opening it. Even then 
> for ioslaves that do not optimize their copy command, the call to 
> KIO::file_copy will properly reuse the ioslave on hold so long as it do not 
> have an optimized copying method like the ftp ioslave. 
> 
> #2. If a user types a web address, e.g. www.kde.org, into KRunner to open it 
> in Konqueror and repeats the same process with another address, then whether 
> the ioslave put on hold the second time around will get reused or not depends 
> how the application works. If the application allows multiple documents or 
> tabs and opens the second url as in the already running instance, then the 
> ioslave on hold will NOT be reused the second time around.
> 
> Solution:
> ======
> #1. Simply force the KIO::file_copy call not to do the optimized copying if 
> there is a slave on hold for the request. This will force it to use two 
> separate jobs, KIO::get (CMD_GET) and KIO::put (CMD_PUT) ensuring the reuse 
> of the ioslave that was put on hold.
> 
> #2. Whenever a call to KIO::Scheduler::publishSlaveOnHold is made, send a 
> dbus message to update all the other scheduler so that they can look for an 
> ioslave-on-hold to service the next request.
> 
> 
> Diffs
> -----
> 
>   kio/kio/scheduler.h 9be9db0 
>   kio/kio/scheduler.cpp 4cb33d1 
>   kio/kio/job.cpp e34f562 
> 
> Diff: http://git.reviewboard.kde.org/r/101244/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dawit
> 
>

Reply via email to