Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-87264

QHostInfo::fromName() doesn't use DNS-cache

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P3: Somewhat important
    • Resolution: Unresolved
    • Affects Version/s: 5.12.6
    • Fix Version/s: None
    • Component/s: Network: DNS
    • Labels:
      None

      Description

      By default QHostInfo::fromName() put data to DNS cache, but doesn't use it, turn on use DNS case reduce number of the requests, e.g. at my case this is reduce number of the requests form 13 to 2.

      Patch very simple

      diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp
      index 23b83cf8e6..bf65b9bac0 100644
      --- a/src/network/kernel/qhostinfo.cpp
      +++ b/src/network/kernel/qhostinfo.cpp
      @@ -424,8 +424,12 @@ QHostInfo QHostInfo::fromName(const QString &name)
           qDebug("QHostInfo::fromName(\"%s\")",name.toLatin1().constData());
       #endif
       
      -    QHostInfo hostInfo = QHostInfoAgent::fromName(name);
           QAbstractHostInfoLookupManager* manager = theHostInfoLookupManager();
      +    bool ok = false;
      +    QHostInfo hostInfo = manager->cache.get(name, &ok);
      +    if (ok)
      +        return hostInfo;
      +    hostInfo = QHostInfoAgent::fromName(name);
           manager->cache.put(name, hostInfo);
           return hostInfo;
       }

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            tpochep Timur Pocheptsov
            Reporter:
            imb Kirill Brilliantov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes