Bug 268702 - Name resolving in /dns is done synchronously, can block UI
Summary: Name resolving in /dns is done synchronously, can block UI
Status: RESOLVED FIXED
Alias: None
Product: konversation
Classification: Unclassified
Component: general (show other bugs)
Version: 1.3.1
Platform: Debian stable Linux
: NOR minor (vote)
Target Milestone: ---
Assignee: Konversation Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-17 01:29 UTC by Stuart Prescott
Modified: 2011-04-14 22:00 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Prescott 2011-03-17 01:29:06 UTC
Recently I was experiencing very slow dns resolution (due to other problems with network-manager leaving in work dns servers in /etc/resolv.conf even though I was at home). I repeatedly saw that if I used /dns then the UI was unresponsive until the operation completed -- 5 to 10 seconds during this period of slow dns resolution.
Comment 1 Eike Hein 2011-03-17 11:32:57 UTC
Looks like /dns' name resolving code is currently synchronous rather than asynchronous indeed. Fixing this is going to take a bit longer than one might think because a really good fix will need some refactoring in the framework it's implemented in.

(For the record: Name resolving when making a new IRC server connection is not affected; that's done asynchronously.)
Comment 2 Eike Hein 2011-04-14 22:00:28 UTC
Git commit 1f8ae8dbbaa64cf25910656a85be3014d47b1074 by Eike Hein.
Committed on 14/04/2011 at 22:07.
Pushed by hein into branch 'master'.

Make /dns non-blocking.

BUG:268702

M  +4    -0    ChangeLog     
M  +1    -0    src/CMakeLists.txt     
M  +4    -48   src/irc/outputfilter.cpp     
A  +84   -0    src/irc/outputfilterresolvejob.cpp         [License: GPL (v2/3)]
A  +51   -0    src/irc/outputfilterresolvejob.h         [License: GPL (v2/3)]

http://commits.kde.org/konversation/1f8ae8dbbaa64cf25910656a85be3014d47b1074