Bug #13007
closed
Webbrick takes 5s to start when machine name looks like a real domain
Added by grosser (Michael Grosser) almost 8 years ago.
Updated almost 8 years ago.
Description
sudo scutil --set HostName foo.local
ruby -r socket -e "Socket.gethostbyname(Socket.gethostname)"
or much simpler:
ruby -r socket -e "Socket.gethostbyname('foo.local')"
called from webrick/config.rb:24 ... Utils::getservername
Ideally this should be lazy, so I can override ServerName and avoid this ...
or not do a remote lookup at all by default
Sad news is gethostbyname blocks under the hood in the system library, not in ruby's code.
But webrick's issue might be resolved already by issue #6559. Can you try the latest trunk to see if that fixed your problem?
- Related to Feature #6559: Set DoNotReverseLookup to true in Webrick added
Shyouhei Urabe wrote:
Sad news is gethostbyname blocks under the hood in the system library, not in ruby's code.
But webrick's issue might be resolved already by issue #6559. Can you try the latest trunk to see if that fixed your problem?
It seems not a reverse lookup issue, but a forward lookup issue.
It sounds reasonable to delay the call of Utils.getservername so that
users can override ServerName, in which case there's no need to call
Utils.getservername.
Hmm, I see. No objection for the approach then.
- Status changed from Open to Closed
Applied in changeset r57014.
Delay Utils.getservername until needed.
There is no need to call Utils.getservername when the :ServerName option is
specified, so delay Utils.getservername until needed to avoid unnecessary
DNS lookups. [ruby-core:78492] [Bug #13007]
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0