From: yorickpeterse@... Date: 2015-02-27T10:06:15+00:00 Subject: [ruby-core:68337] [Ruby trunk - Misc #10907] Documentation of Addrinfo.new suggests default family of PF_UNSPEC while in practise it appears to be AF_INET Issue #10907 has been updated by Yorick Peterse. It seems I am confusing `afamily` with `pfamily`. The `pfamily` indeed returns `Socket::PF_UNSPEC` by default. ---------------------------------------- Misc #10907: Documentation of Addrinfo.new suggests default family of PF_UNSPEC while in practise it appears to be AF_INET https://bugs.ruby-lang.org/issues/10907#change-51684 * Author: Yorick Peterse * Status: Open * Priority: Low * Assignee: ---------------------------------------- The documentation of Addrinfo.new states the following: > family is specified as an integer to specify the protocol family such as > Socket::PF_INET. It can be a symbol or a string which is the constant name > with or without PF_ prefix such as :INET, :INET6, :UNIX, "PF_INET", etc. If > omitted, PF_UNSPEC is assumed. However, the behaviour contradicts this: Addrinfo.new(Socket.sockaddr_in(80, 'localhost')).afamily == Socket::PF_UNSPEC # => false Addrinfo.new(Socket.sockaddr_in(80, 'localhost')).afamily == Socket::AF_INET # => true The question here is, which of the following is the case: 1. The documentation is simply incorrect, the default is always `AF_INET` 2. The behaviour is incorrect, it should be `PF_UNSPEC` instead of `AF_INET` 3. This is platform specific (meaning the documentation should state this) On Twitter Matz mentioned () thinking it was platform specific, but I'd like to be 100% sure about this. -- https://bugs.ruby-lang.org/