Add scheduler hook Addrinfo.getaddrinfo
. (#4375)
Co-authored-by: Bruno Sutic <code@brunosutic.com>
This commit is contained in:
parent
688b217706
commit
2792acc8f2
Notes:
git
2021-06-14 13:21:30 +09:00
Merged-By: ioquatix <samuel@codeotaku.com>
@ -90,6 +90,13 @@ class Scheduler
|
|||||||
def timeout_after(duration, klass, *arguments, &block)
|
def timeout_after(duration, klass, *arguments, &block)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Resolve hostname to an array of IP addresses.
|
||||||
|
# This hook is optional.
|
||||||
|
# @parameter hostname [String] Example: "www.ruby-lang.org".
|
||||||
|
# @returns [Array] An array of IPv4 and/or IPv6 address strings that the hostname resolves to.
|
||||||
|
def address_resolve(hostname)
|
||||||
|
end
|
||||||
|
|
||||||
# Block the calling fiber.
|
# Block the calling fiber.
|
||||||
# @parameter blocker [Object] What we are waiting on, informational only.
|
# @parameter blocker [Object] What we are waiting on, informational only.
|
||||||
# @parameter timeout [Numeric | Nil] The amount of time to wait for in seconds.
|
# @parameter timeout [Numeric | Nil] The amount of time to wait for in seconds.
|
||||||
|
@ -13,6 +13,21 @@ constdefs.c: constdefs.h
|
|||||||
ancdata.o: $(RUBY_EXTCONF_H)
|
ancdata.o: $(RUBY_EXTCONF_H)
|
||||||
ancdata.o: $(arch_hdrdir)/ruby/config.h
|
ancdata.o: $(arch_hdrdir)/ruby/config.h
|
||||||
ancdata.o: $(hdrdir)/ruby.h
|
ancdata.o: $(hdrdir)/ruby.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/assert.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/defines.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
ancdata.o: $(hdrdir)/ruby/intern.h
|
||||||
ancdata.o: $(hdrdir)/ruby/internal/anyargs.h
|
ancdata.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
ancdata.o: $(hdrdir)/ruby/internal/arithmetic.h
|
ancdata.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
ancdata.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
ancdata.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -152,20 +167,6 @@ ancdata.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
ancdata.o: $(hdrdir)/ruby/internal/variable.h
|
ancdata.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
ancdata.o: $(hdrdir)/ruby/internal/warning_push.h
|
ancdata.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
ancdata.o: $(hdrdir)/ruby/internal/xmalloc.h
|
ancdata.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
ancdata.o: $(hdrdir)/ruby/assert.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/defines.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/intern.h
|
|
||||||
ancdata.o: $(hdrdir)/ruby/io.h
|
ancdata.o: $(hdrdir)/ruby/io.h
|
||||||
ancdata.o: $(hdrdir)/ruby/missing.h
|
ancdata.o: $(hdrdir)/ruby/missing.h
|
||||||
ancdata.o: $(hdrdir)/ruby/onigmo.h
|
ancdata.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -194,6 +195,21 @@ ancdata.o: sockport.h
|
|||||||
basicsocket.o: $(RUBY_EXTCONF_H)
|
basicsocket.o: $(RUBY_EXTCONF_H)
|
||||||
basicsocket.o: $(arch_hdrdir)/ruby/config.h
|
basicsocket.o: $(arch_hdrdir)/ruby/config.h
|
||||||
basicsocket.o: $(hdrdir)/ruby.h
|
basicsocket.o: $(hdrdir)/ruby.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/assert.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/defines.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
basicsocket.o: $(hdrdir)/ruby/intern.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
basicsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
basicsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
basicsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -333,20 +349,6 @@ basicsocket.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
basicsocket.o: $(hdrdir)/ruby/internal/variable.h
|
basicsocket.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
basicsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
basicsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/assert.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/defines.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/intern.h
|
|
||||||
basicsocket.o: $(hdrdir)/ruby/io.h
|
basicsocket.o: $(hdrdir)/ruby/io.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/missing.h
|
basicsocket.o: $(hdrdir)/ruby/missing.h
|
||||||
basicsocket.o: $(hdrdir)/ruby/onigmo.h
|
basicsocket.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -375,6 +377,21 @@ basicsocket.o: sockport.h
|
|||||||
constants.o: $(RUBY_EXTCONF_H)
|
constants.o: $(RUBY_EXTCONF_H)
|
||||||
constants.o: $(arch_hdrdir)/ruby/config.h
|
constants.o: $(arch_hdrdir)/ruby/config.h
|
||||||
constants.o: $(hdrdir)/ruby.h
|
constants.o: $(hdrdir)/ruby.h
|
||||||
|
constants.o: $(hdrdir)/ruby/assert.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
constants.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
constants.o: $(hdrdir)/ruby/defines.h
|
||||||
|
constants.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
constants.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
constants.o: $(hdrdir)/ruby/intern.h
|
||||||
constants.o: $(hdrdir)/ruby/internal/anyargs.h
|
constants.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
constants.o: $(hdrdir)/ruby/internal/arithmetic.h
|
constants.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
constants.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
constants.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -514,20 +531,6 @@ constants.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
constants.o: $(hdrdir)/ruby/internal/variable.h
|
constants.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
constants.o: $(hdrdir)/ruby/internal/warning_push.h
|
constants.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
constants.o: $(hdrdir)/ruby/internal/xmalloc.h
|
constants.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
constants.o: $(hdrdir)/ruby/assert.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
constants.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
constants.o: $(hdrdir)/ruby/defines.h
|
|
||||||
constants.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
constants.o: $(hdrdir)/ruby/intern.h
|
|
||||||
constants.o: $(hdrdir)/ruby/io.h
|
constants.o: $(hdrdir)/ruby/io.h
|
||||||
constants.o: $(hdrdir)/ruby/missing.h
|
constants.o: $(hdrdir)/ruby/missing.h
|
||||||
constants.o: $(hdrdir)/ruby/onigmo.h
|
constants.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -557,6 +560,21 @@ constants.o: sockport.h
|
|||||||
ifaddr.o: $(RUBY_EXTCONF_H)
|
ifaddr.o: $(RUBY_EXTCONF_H)
|
||||||
ifaddr.o: $(arch_hdrdir)/ruby/config.h
|
ifaddr.o: $(arch_hdrdir)/ruby/config.h
|
||||||
ifaddr.o: $(hdrdir)/ruby.h
|
ifaddr.o: $(hdrdir)/ruby.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/assert.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/defines.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
ifaddr.o: $(hdrdir)/ruby/intern.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/internal/anyargs.h
|
ifaddr.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/internal/arithmetic.h
|
ifaddr.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
ifaddr.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -696,20 +714,6 @@ ifaddr.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
ifaddr.o: $(hdrdir)/ruby/internal/variable.h
|
ifaddr.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/internal/warning_push.h
|
ifaddr.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/internal/xmalloc.h
|
ifaddr.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/assert.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/defines.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/intern.h
|
|
||||||
ifaddr.o: $(hdrdir)/ruby/io.h
|
ifaddr.o: $(hdrdir)/ruby/io.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/missing.h
|
ifaddr.o: $(hdrdir)/ruby/missing.h
|
||||||
ifaddr.o: $(hdrdir)/ruby/onigmo.h
|
ifaddr.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -738,6 +742,21 @@ ifaddr.o: sockport.h
|
|||||||
init.o: $(RUBY_EXTCONF_H)
|
init.o: $(RUBY_EXTCONF_H)
|
||||||
init.o: $(arch_hdrdir)/ruby/config.h
|
init.o: $(arch_hdrdir)/ruby/config.h
|
||||||
init.o: $(hdrdir)/ruby.h
|
init.o: $(hdrdir)/ruby.h
|
||||||
|
init.o: $(hdrdir)/ruby/assert.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
init.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
init.o: $(hdrdir)/ruby/defines.h
|
||||||
|
init.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
init.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
init.o: $(hdrdir)/ruby/intern.h
|
||||||
init.o: $(hdrdir)/ruby/internal/anyargs.h
|
init.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
init.o: $(hdrdir)/ruby/internal/arithmetic.h
|
init.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
init.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
init.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -877,20 +896,6 @@ init.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
init.o: $(hdrdir)/ruby/internal/variable.h
|
init.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
init.o: $(hdrdir)/ruby/internal/warning_push.h
|
init.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
init.o: $(hdrdir)/ruby/internal/xmalloc.h
|
init.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
init.o: $(hdrdir)/ruby/assert.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
init.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
init.o: $(hdrdir)/ruby/defines.h
|
|
||||||
init.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
init.o: $(hdrdir)/ruby/intern.h
|
|
||||||
init.o: $(hdrdir)/ruby/io.h
|
init.o: $(hdrdir)/ruby/io.h
|
||||||
init.o: $(hdrdir)/ruby/missing.h
|
init.o: $(hdrdir)/ruby/missing.h
|
||||||
init.o: $(hdrdir)/ruby/onigmo.h
|
init.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -919,6 +924,21 @@ init.o: sockport.h
|
|||||||
ipsocket.o: $(RUBY_EXTCONF_H)
|
ipsocket.o: $(RUBY_EXTCONF_H)
|
||||||
ipsocket.o: $(arch_hdrdir)/ruby/config.h
|
ipsocket.o: $(arch_hdrdir)/ruby/config.h
|
||||||
ipsocket.o: $(hdrdir)/ruby.h
|
ipsocket.o: $(hdrdir)/ruby.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/assert.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/defines.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
ipsocket.o: $(hdrdir)/ruby/intern.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
ipsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
ipsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
ipsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -1058,20 +1078,6 @@ ipsocket.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
ipsocket.o: $(hdrdir)/ruby/internal/variable.h
|
ipsocket.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
ipsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
ipsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/assert.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/defines.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/intern.h
|
|
||||||
ipsocket.o: $(hdrdir)/ruby/io.h
|
ipsocket.o: $(hdrdir)/ruby/io.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/missing.h
|
ipsocket.o: $(hdrdir)/ruby/missing.h
|
||||||
ipsocket.o: $(hdrdir)/ruby/onigmo.h
|
ipsocket.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -1100,6 +1106,21 @@ ipsocket.o: sockport.h
|
|||||||
option.o: $(RUBY_EXTCONF_H)
|
option.o: $(RUBY_EXTCONF_H)
|
||||||
option.o: $(arch_hdrdir)/ruby/config.h
|
option.o: $(arch_hdrdir)/ruby/config.h
|
||||||
option.o: $(hdrdir)/ruby.h
|
option.o: $(hdrdir)/ruby.h
|
||||||
|
option.o: $(hdrdir)/ruby/assert.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
option.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
option.o: $(hdrdir)/ruby/defines.h
|
||||||
|
option.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
option.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
option.o: $(hdrdir)/ruby/intern.h
|
||||||
option.o: $(hdrdir)/ruby/internal/anyargs.h
|
option.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
option.o: $(hdrdir)/ruby/internal/arithmetic.h
|
option.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
option.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
option.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -1239,20 +1260,6 @@ option.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
option.o: $(hdrdir)/ruby/internal/variable.h
|
option.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
option.o: $(hdrdir)/ruby/internal/warning_push.h
|
option.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
option.o: $(hdrdir)/ruby/internal/xmalloc.h
|
option.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
option.o: $(hdrdir)/ruby/assert.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
option.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
option.o: $(hdrdir)/ruby/defines.h
|
|
||||||
option.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
option.o: $(hdrdir)/ruby/intern.h
|
|
||||||
option.o: $(hdrdir)/ruby/io.h
|
option.o: $(hdrdir)/ruby/io.h
|
||||||
option.o: $(hdrdir)/ruby/missing.h
|
option.o: $(hdrdir)/ruby/missing.h
|
||||||
option.o: $(hdrdir)/ruby/onigmo.h
|
option.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -1281,6 +1288,21 @@ option.o: sockport.h
|
|||||||
raddrinfo.o: $(RUBY_EXTCONF_H)
|
raddrinfo.o: $(RUBY_EXTCONF_H)
|
||||||
raddrinfo.o: $(arch_hdrdir)/ruby/config.h
|
raddrinfo.o: $(arch_hdrdir)/ruby/config.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby.h
|
raddrinfo.o: $(hdrdir)/ruby.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/assert.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/defines.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
raddrinfo.o: $(hdrdir)/ruby/intern.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/internal/anyargs.h
|
raddrinfo.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/internal/arithmetic.h
|
raddrinfo.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
raddrinfo.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -1420,20 +1442,6 @@ raddrinfo.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
raddrinfo.o: $(hdrdir)/ruby/internal/variable.h
|
raddrinfo.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/internal/warning_push.h
|
raddrinfo.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/internal/xmalloc.h
|
raddrinfo.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/assert.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/defines.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/intern.h
|
|
||||||
raddrinfo.o: $(hdrdir)/ruby/io.h
|
raddrinfo.o: $(hdrdir)/ruby/io.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/missing.h
|
raddrinfo.o: $(hdrdir)/ruby/missing.h
|
||||||
raddrinfo.o: $(hdrdir)/ruby/onigmo.h
|
raddrinfo.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -1462,6 +1470,21 @@ raddrinfo.o: sockport.h
|
|||||||
socket.o: $(RUBY_EXTCONF_H)
|
socket.o: $(RUBY_EXTCONF_H)
|
||||||
socket.o: $(arch_hdrdir)/ruby/config.h
|
socket.o: $(arch_hdrdir)/ruby/config.h
|
||||||
socket.o: $(hdrdir)/ruby.h
|
socket.o: $(hdrdir)/ruby.h
|
||||||
|
socket.o: $(hdrdir)/ruby/assert.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
socket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
socket.o: $(hdrdir)/ruby/defines.h
|
||||||
|
socket.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
socket.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
socket.o: $(hdrdir)/ruby/intern.h
|
||||||
socket.o: $(hdrdir)/ruby/internal/anyargs.h
|
socket.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
socket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
socket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
socket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
socket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -1601,20 +1624,6 @@ socket.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
socket.o: $(hdrdir)/ruby/internal/variable.h
|
socket.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
socket.o: $(hdrdir)/ruby/internal/warning_push.h
|
socket.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
socket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
socket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
socket.o: $(hdrdir)/ruby/assert.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
socket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
socket.o: $(hdrdir)/ruby/defines.h
|
|
||||||
socket.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
socket.o: $(hdrdir)/ruby/intern.h
|
|
||||||
socket.o: $(hdrdir)/ruby/io.h
|
socket.o: $(hdrdir)/ruby/io.h
|
||||||
socket.o: $(hdrdir)/ruby/missing.h
|
socket.o: $(hdrdir)/ruby/missing.h
|
||||||
socket.o: $(hdrdir)/ruby/onigmo.h
|
socket.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -1643,6 +1652,21 @@ socket.o: sockport.h
|
|||||||
sockssocket.o: $(RUBY_EXTCONF_H)
|
sockssocket.o: $(RUBY_EXTCONF_H)
|
||||||
sockssocket.o: $(arch_hdrdir)/ruby/config.h
|
sockssocket.o: $(arch_hdrdir)/ruby/config.h
|
||||||
sockssocket.o: $(hdrdir)/ruby.h
|
sockssocket.o: $(hdrdir)/ruby.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/assert.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/defines.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
sockssocket.o: $(hdrdir)/ruby/intern.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
sockssocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
sockssocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
sockssocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -1782,20 +1806,6 @@ sockssocket.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
sockssocket.o: $(hdrdir)/ruby/internal/variable.h
|
sockssocket.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
sockssocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
sockssocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/assert.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/defines.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/intern.h
|
|
||||||
sockssocket.o: $(hdrdir)/ruby/io.h
|
sockssocket.o: $(hdrdir)/ruby/io.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/missing.h
|
sockssocket.o: $(hdrdir)/ruby/missing.h
|
||||||
sockssocket.o: $(hdrdir)/ruby/onigmo.h
|
sockssocket.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -1824,6 +1834,21 @@ sockssocket.o: sockssocket.c
|
|||||||
tcpserver.o: $(RUBY_EXTCONF_H)
|
tcpserver.o: $(RUBY_EXTCONF_H)
|
||||||
tcpserver.o: $(arch_hdrdir)/ruby/config.h
|
tcpserver.o: $(arch_hdrdir)/ruby/config.h
|
||||||
tcpserver.o: $(hdrdir)/ruby.h
|
tcpserver.o: $(hdrdir)/ruby.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/assert.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/defines.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
tcpserver.o: $(hdrdir)/ruby/intern.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/internal/anyargs.h
|
tcpserver.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/internal/arithmetic.h
|
tcpserver.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
tcpserver.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -1963,20 +1988,6 @@ tcpserver.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
tcpserver.o: $(hdrdir)/ruby/internal/variable.h
|
tcpserver.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/internal/warning_push.h
|
tcpserver.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/internal/xmalloc.h
|
tcpserver.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/assert.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/defines.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/intern.h
|
|
||||||
tcpserver.o: $(hdrdir)/ruby/io.h
|
tcpserver.o: $(hdrdir)/ruby/io.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/missing.h
|
tcpserver.o: $(hdrdir)/ruby/missing.h
|
||||||
tcpserver.o: $(hdrdir)/ruby/onigmo.h
|
tcpserver.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -2005,6 +2016,21 @@ tcpserver.o: tcpserver.c
|
|||||||
tcpsocket.o: $(RUBY_EXTCONF_H)
|
tcpsocket.o: $(RUBY_EXTCONF_H)
|
||||||
tcpsocket.o: $(arch_hdrdir)/ruby/config.h
|
tcpsocket.o: $(arch_hdrdir)/ruby/config.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby.h
|
tcpsocket.o: $(hdrdir)/ruby.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/assert.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/defines.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
tcpsocket.o: $(hdrdir)/ruby/intern.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
tcpsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
tcpsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
tcpsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -2144,20 +2170,6 @@ tcpsocket.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
tcpsocket.o: $(hdrdir)/ruby/internal/variable.h
|
tcpsocket.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
tcpsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
tcpsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/assert.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/defines.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/intern.h
|
|
||||||
tcpsocket.o: $(hdrdir)/ruby/io.h
|
tcpsocket.o: $(hdrdir)/ruby/io.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/missing.h
|
tcpsocket.o: $(hdrdir)/ruby/missing.h
|
||||||
tcpsocket.o: $(hdrdir)/ruby/onigmo.h
|
tcpsocket.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -2186,6 +2198,21 @@ tcpsocket.o: tcpsocket.c
|
|||||||
udpsocket.o: $(RUBY_EXTCONF_H)
|
udpsocket.o: $(RUBY_EXTCONF_H)
|
||||||
udpsocket.o: $(arch_hdrdir)/ruby/config.h
|
udpsocket.o: $(arch_hdrdir)/ruby/config.h
|
||||||
udpsocket.o: $(hdrdir)/ruby.h
|
udpsocket.o: $(hdrdir)/ruby.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/assert.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/defines.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
udpsocket.o: $(hdrdir)/ruby/intern.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
udpsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
udpsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
udpsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -2325,20 +2352,6 @@ udpsocket.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
udpsocket.o: $(hdrdir)/ruby/internal/variable.h
|
udpsocket.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
udpsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
udpsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/assert.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/defines.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/intern.h
|
|
||||||
udpsocket.o: $(hdrdir)/ruby/io.h
|
udpsocket.o: $(hdrdir)/ruby/io.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/missing.h
|
udpsocket.o: $(hdrdir)/ruby/missing.h
|
||||||
udpsocket.o: $(hdrdir)/ruby/onigmo.h
|
udpsocket.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -2367,6 +2380,21 @@ udpsocket.o: udpsocket.c
|
|||||||
unixserver.o: $(RUBY_EXTCONF_H)
|
unixserver.o: $(RUBY_EXTCONF_H)
|
||||||
unixserver.o: $(arch_hdrdir)/ruby/config.h
|
unixserver.o: $(arch_hdrdir)/ruby/config.h
|
||||||
unixserver.o: $(hdrdir)/ruby.h
|
unixserver.o: $(hdrdir)/ruby.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/assert.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/defines.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
unixserver.o: $(hdrdir)/ruby/intern.h
|
||||||
unixserver.o: $(hdrdir)/ruby/internal/anyargs.h
|
unixserver.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
unixserver.o: $(hdrdir)/ruby/internal/arithmetic.h
|
unixserver.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
unixserver.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
unixserver.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -2506,20 +2534,6 @@ unixserver.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
unixserver.o: $(hdrdir)/ruby/internal/variable.h
|
unixserver.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
unixserver.o: $(hdrdir)/ruby/internal/warning_push.h
|
unixserver.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
unixserver.o: $(hdrdir)/ruby/internal/xmalloc.h
|
unixserver.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
unixserver.o: $(hdrdir)/ruby/assert.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/defines.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/intern.h
|
|
||||||
unixserver.o: $(hdrdir)/ruby/io.h
|
unixserver.o: $(hdrdir)/ruby/io.h
|
||||||
unixserver.o: $(hdrdir)/ruby/missing.h
|
unixserver.o: $(hdrdir)/ruby/missing.h
|
||||||
unixserver.o: $(hdrdir)/ruby/onigmo.h
|
unixserver.o: $(hdrdir)/ruby/onigmo.h
|
||||||
@ -2548,6 +2562,21 @@ unixserver.o: unixserver.c
|
|||||||
unixsocket.o: $(RUBY_EXTCONF_H)
|
unixsocket.o: $(RUBY_EXTCONF_H)
|
||||||
unixsocket.o: $(arch_hdrdir)/ruby/config.h
|
unixsocket.o: $(arch_hdrdir)/ruby/config.h
|
||||||
unixsocket.o: $(hdrdir)/ruby.h
|
unixsocket.o: $(hdrdir)/ruby.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/assert.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/defines.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/encoding.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/fiber/scheduler.h
|
||||||
|
unixsocket.o: $(hdrdir)/ruby/intern.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
unixsocket.o: $(hdrdir)/ruby/internal/anyargs.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
unixsocket.o: $(hdrdir)/ruby/internal/arithmetic.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
unixsocket.o: $(hdrdir)/ruby/internal/arithmetic/char.h
|
||||||
@ -2687,20 +2716,6 @@ unixsocket.o: $(hdrdir)/ruby/internal/value_type.h
|
|||||||
unixsocket.o: $(hdrdir)/ruby/internal/variable.h
|
unixsocket.o: $(hdrdir)/ruby/internal/variable.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
unixsocket.o: $(hdrdir)/ruby/internal/warning_push.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
unixsocket.o: $(hdrdir)/ruby/internal/xmalloc.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/assert.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/assume.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/attributes.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/bool.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/inttypes.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/limits.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/long_long.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/stdalign.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/backward/2/stdarg.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/defines.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/encoding.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/intern.h
|
|
||||||
unixsocket.o: $(hdrdir)/ruby/io.h
|
unixsocket.o: $(hdrdir)/ruby/io.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/missing.h
|
unixsocket.o: $(hdrdir)/ruby/missing.h
|
||||||
unixsocket.o: $(hdrdir)/ruby/onigmo.h
|
unixsocket.o: $(hdrdir)/ruby/onigmo.h
|
||||||
|
@ -284,40 +284,6 @@ numeric_getaddrinfo(const char *node, const char *service,
|
|||||||
return EAI_FAIL;
|
return EAI_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
rb_getaddrinfo(const char *node, const char *service,
|
|
||||||
const struct addrinfo *hints,
|
|
||||||
struct rb_addrinfo **res)
|
|
||||||
{
|
|
||||||
struct addrinfo *ai;
|
|
||||||
int ret;
|
|
||||||
int allocated_by_malloc = 0;
|
|
||||||
|
|
||||||
ret = numeric_getaddrinfo(node, service, hints, &ai);
|
|
||||||
if (ret == 0)
|
|
||||||
allocated_by_malloc = 1;
|
|
||||||
else {
|
|
||||||
#ifdef GETADDRINFO_EMU
|
|
||||||
ret = getaddrinfo(node, service, hints, &ai);
|
|
||||||
#else
|
|
||||||
struct getaddrinfo_arg arg;
|
|
||||||
MEMZERO(&arg, struct getaddrinfo_arg, 1);
|
|
||||||
arg.node = node;
|
|
||||||
arg.service = service;
|
|
||||||
arg.hints = hints;
|
|
||||||
arg.res = &ai;
|
|
||||||
ret = (int)(VALUE)rb_thread_call_without_gvl(nogvl_getaddrinfo, &arg, RUBY_UBF_IO, 0);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret == 0) {
|
|
||||||
*res = (struct rb_addrinfo *)xmalloc(sizeof(struct rb_addrinfo));
|
|
||||||
(*res)->allocated_by_malloc = allocated_by_malloc;
|
|
||||||
(*res)->ai = ai;
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
rb_freeaddrinfo(struct rb_addrinfo *ai)
|
rb_freeaddrinfo(struct rb_addrinfo *ai)
|
||||||
{
|
{
|
||||||
@ -498,12 +464,63 @@ port_str(VALUE port, char *pbuf, size_t pbuflen, int *flags_ptr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
rb_scheduler_getaddrinfo(VALUE scheduler, VALUE host, const char *service,
|
||||||
|
const struct addrinfo *hints, struct rb_addrinfo **res)
|
||||||
|
{
|
||||||
|
int error, res_allocated = 0, _additional_flags = 0;
|
||||||
|
long i, len;
|
||||||
|
struct addrinfo *ai, *ai_tail = NULL;
|
||||||
|
char *hostp;
|
||||||
|
char _hbuf[NI_MAXHOST];
|
||||||
|
VALUE ip_addresses_array, ip_address;
|
||||||
|
|
||||||
|
ip_addresses_array = rb_fiber_scheduler_address_resolve(scheduler, host);
|
||||||
|
|
||||||
|
if (ip_addresses_array == Qundef) {
|
||||||
|
// Returns EAI_FAIL if the scheduler hook is not implemented:
|
||||||
|
return EAI_FAIL;
|
||||||
|
} else if (ip_addresses_array == Qnil) {
|
||||||
|
len = 0;
|
||||||
|
} else {
|
||||||
|
len = RARRAY_LEN(ip_addresses_array);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i=0; i<len; i++) {
|
||||||
|
ip_address = rb_ary_entry(ip_addresses_array, i);
|
||||||
|
hostp = host_str(ip_address, _hbuf, sizeof(_hbuf), &_additional_flags);
|
||||||
|
error = numeric_getaddrinfo(hostp, service, hints, &ai);
|
||||||
|
if (error == 0) {
|
||||||
|
if (!res_allocated) {
|
||||||
|
res_allocated = 1;
|
||||||
|
*res = (struct rb_addrinfo *)xmalloc(sizeof(struct rb_addrinfo));
|
||||||
|
(*res)->allocated_by_malloc = 1;
|
||||||
|
(*res)->ai = ai;
|
||||||
|
ai_tail = ai;
|
||||||
|
} else {
|
||||||
|
while (ai_tail->ai_next) {
|
||||||
|
ai_tail = ai_tail->ai_next;
|
||||||
|
}
|
||||||
|
ai_tail->ai_next = ai;
|
||||||
|
ai_tail = ai;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res_allocated) { // At least one valid result.
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
return EAI_NONAME;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct rb_addrinfo*
|
struct rb_addrinfo*
|
||||||
rsock_getaddrinfo(VALUE host, VALUE port, struct addrinfo *hints, int socktype_hack)
|
rsock_getaddrinfo(VALUE host, VALUE port, struct addrinfo *hints, int socktype_hack)
|
||||||
{
|
{
|
||||||
struct rb_addrinfo* res = NULL;
|
struct rb_addrinfo* res = NULL;
|
||||||
|
struct addrinfo *ai;
|
||||||
char *hostp, *portp;
|
char *hostp, *portp;
|
||||||
int error;
|
int error = 0;
|
||||||
char hbuf[NI_MAXHOST], pbuf[NI_MAXSERV];
|
char hbuf[NI_MAXHOST], pbuf[NI_MAXSERV];
|
||||||
int additional_flags = 0;
|
int additional_flags = 0;
|
||||||
|
|
||||||
@ -515,7 +532,43 @@ rsock_getaddrinfo(VALUE host, VALUE port, struct addrinfo *hints, int socktype_h
|
|||||||
}
|
}
|
||||||
hints->ai_flags |= additional_flags;
|
hints->ai_flags |= additional_flags;
|
||||||
|
|
||||||
error = rb_getaddrinfo(hostp, portp, hints, &res);
|
error = numeric_getaddrinfo(hostp, portp, hints, &ai);
|
||||||
|
if (error == 0) {
|
||||||
|
res = (struct rb_addrinfo *)xmalloc(sizeof(struct rb_addrinfo));
|
||||||
|
res->allocated_by_malloc = 1;
|
||||||
|
res->ai = ai;
|
||||||
|
} else {
|
||||||
|
VALUE scheduler = rb_fiber_scheduler_current();
|
||||||
|
int resolved = 0;
|
||||||
|
|
||||||
|
if (scheduler != Qnil && hostp && !(hints->ai_flags & AI_NUMERICHOST)) {
|
||||||
|
error = rb_scheduler_getaddrinfo(scheduler, host, portp, hints, &res);
|
||||||
|
|
||||||
|
if (error != EAI_FAIL) {
|
||||||
|
resolved = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!resolved) {
|
||||||
|
#ifdef GETADDRINFO_EMU
|
||||||
|
error = getaddrinfo(hostp, portp, hints, &ai);
|
||||||
|
#else
|
||||||
|
struct getaddrinfo_arg arg;
|
||||||
|
MEMZERO(&arg, struct getaddrinfo_arg, 1);
|
||||||
|
arg.node = hostp;
|
||||||
|
arg.service = portp;
|
||||||
|
arg.hints = hints;
|
||||||
|
arg.res = &ai;
|
||||||
|
error = (int)(VALUE)rb_thread_call_without_gvl(nogvl_getaddrinfo, &arg, RUBY_UBF_IO, 0);
|
||||||
|
#endif
|
||||||
|
if (error == 0) {
|
||||||
|
res = (struct rb_addrinfo *)xmalloc(sizeof(struct rb_addrinfo));
|
||||||
|
res->allocated_by_malloc = 0;
|
||||||
|
res->ai = ai;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
if (hostp && hostp[strlen(hostp)-1] == '\n') {
|
if (hostp && hostp[strlen(hostp)-1] == '\n') {
|
||||||
rb_raise(rb_eSocket, "newline at the end of hostname");
|
rb_raise(rb_eSocket, "newline at the end of hostname");
|
||||||
|
@ -139,6 +139,7 @@
|
|||||||
#include "ruby/thread.h"
|
#include "ruby/thread.h"
|
||||||
#include "ruby/util.h"
|
#include "ruby/util.h"
|
||||||
#include "sockport.h"
|
#include "sockport.h"
|
||||||
|
#include "ruby/fiber/scheduler.h"
|
||||||
|
|
||||||
#ifndef HAVE_TYPE_SOCKLEN_T
|
#ifndef HAVE_TYPE_SOCKLEN_T
|
||||||
typedef int socklen_t;
|
typedef int socklen_t;
|
||||||
@ -313,7 +314,6 @@ struct rb_addrinfo {
|
|||||||
struct addrinfo *ai;
|
struct addrinfo *ai;
|
||||||
int allocated_by_malloc;
|
int allocated_by_malloc;
|
||||||
};
|
};
|
||||||
int rb_getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct rb_addrinfo **res);
|
|
||||||
void rb_freeaddrinfo(struct rb_addrinfo *ai);
|
void rb_freeaddrinfo(struct rb_addrinfo *ai);
|
||||||
VALUE rsock_freeaddrinfo(VALUE arg);
|
VALUE rsock_freeaddrinfo(VALUE arg);
|
||||||
int rb_getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);
|
int rb_getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);
|
||||||
|
@ -1279,34 +1279,10 @@ sock_s_getnameinfo(int argc, VALUE *argv, VALUE _)
|
|||||||
rb_raise(rb_eArgError, "array size should be 3 or 4, %ld given",
|
rb_raise(rb_eArgError, "array size should be 3 or 4, %ld given",
|
||||||
RARRAY_LEN(sa));
|
RARRAY_LEN(sa));
|
||||||
}
|
}
|
||||||
/* host */
|
|
||||||
if (NIL_P(host)) {
|
|
||||||
hptr = NULL;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
strncpy(hbuf, StringValueCStr(host), sizeof(hbuf));
|
|
||||||
hbuf[sizeof(hbuf) - 1] = '\0';
|
|
||||||
hptr = hbuf;
|
|
||||||
}
|
|
||||||
/* port */
|
|
||||||
if (NIL_P(port)) {
|
|
||||||
strcpy(pbuf, "0");
|
|
||||||
pptr = NULL;
|
|
||||||
}
|
|
||||||
else if (FIXNUM_P(port)) {
|
|
||||||
snprintf(pbuf, sizeof(pbuf), "%ld", NUM2LONG(port));
|
|
||||||
pptr = pbuf;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
strncpy(pbuf, StringValueCStr(port), sizeof(pbuf));
|
|
||||||
pbuf[sizeof(pbuf) - 1] = '\0';
|
|
||||||
pptr = pbuf;
|
|
||||||
}
|
|
||||||
hints.ai_socktype = (fl & NI_DGRAM) ? SOCK_DGRAM : SOCK_STREAM;
|
hints.ai_socktype = (fl & NI_DGRAM) ? SOCK_DGRAM : SOCK_STREAM;
|
||||||
/* af */
|
/* af */
|
||||||
hints.ai_family = NIL_P(af) ? PF_UNSPEC : rsock_family_arg(af);
|
hints.ai_family = NIL_P(af) ? PF_UNSPEC : rsock_family_arg(af);
|
||||||
error = rb_getaddrinfo(hptr, pptr, &hints, &res);
|
res = rsock_getaddrinfo(host, port, &hints, 0);
|
||||||
if (error) goto error_exit_addr;
|
|
||||||
sap = res->ai->ai_addr;
|
sap = res->ai->ai_addr;
|
||||||
salen = res->ai->ai_addrlen;
|
salen = res->ai->ai_addrlen;
|
||||||
}
|
}
|
||||||
@ -1336,12 +1312,6 @@ sock_s_getnameinfo(int argc, VALUE *argv, VALUE _)
|
|||||||
}
|
}
|
||||||
return rb_assoc_new(rb_str_new2(hbuf), rb_str_new2(pbuf));
|
return rb_assoc_new(rb_str_new2(hbuf), rb_str_new2(pbuf));
|
||||||
|
|
||||||
error_exit_addr:
|
|
||||||
saved_errno = errno;
|
|
||||||
if (res) rb_freeaddrinfo(res);
|
|
||||||
errno = saved_errno;
|
|
||||||
rsock_raise_socket_error("getaddrinfo", error);
|
|
||||||
|
|
||||||
error_exit_name:
|
error_exit_name:
|
||||||
saved_errno = errno;
|
saved_errno = errno;
|
||||||
if (res) rb_freeaddrinfo(res);
|
if (res) rb_freeaddrinfo(res);
|
||||||
|
@ -44,6 +44,8 @@ VALUE rb_fiber_scheduler_io_wait_writable(VALUE scheduler, VALUE io);
|
|||||||
VALUE rb_fiber_scheduler_io_read(VALUE scheduler, VALUE io, VALUE buffer, size_t offset, size_t length);
|
VALUE rb_fiber_scheduler_io_read(VALUE scheduler, VALUE io, VALUE buffer, size_t offset, size_t length);
|
||||||
VALUE rb_fiber_scheduler_io_write(VALUE scheduler, VALUE io, VALUE buffer, size_t offset, size_t length);
|
VALUE rb_fiber_scheduler_io_write(VALUE scheduler, VALUE io, VALUE buffer, size_t offset, size_t length);
|
||||||
|
|
||||||
|
VALUE rb_fiber_scheduler_address_resolve(VALUE scheduler, VALUE hostname);
|
||||||
|
|
||||||
RBIMPL_SYMBOL_EXPORT_END()
|
RBIMPL_SYMBOL_EXPORT_END()
|
||||||
|
|
||||||
#endif /* RUBY_FIBER_SCHEDULER_H */
|
#endif /* RUBY_FIBER_SCHEDULER_H */
|
||||||
|
14
scheduler.c
14
scheduler.c
@ -25,6 +25,8 @@ static ID id_io_read;
|
|||||||
static ID id_io_write;
|
static ID id_io_write;
|
||||||
static ID id_io_wait;
|
static ID id_io_wait;
|
||||||
|
|
||||||
|
static ID id_address_resolve;
|
||||||
|
|
||||||
void
|
void
|
||||||
Init_Fiber_Scheduler(void)
|
Init_Fiber_Scheduler(void)
|
||||||
{
|
{
|
||||||
@ -40,6 +42,8 @@ Init_Fiber_Scheduler(void)
|
|||||||
id_io_read = rb_intern_const("io_read");
|
id_io_read = rb_intern_const("io_read");
|
||||||
id_io_write = rb_intern_const("io_write");
|
id_io_write = rb_intern_const("io_write");
|
||||||
id_io_wait = rb_intern_const("io_wait");
|
id_io_wait = rb_intern_const("io_wait");
|
||||||
|
|
||||||
|
id_address_resolve = rb_intern_const("address_resolve");
|
||||||
}
|
}
|
||||||
|
|
||||||
VALUE
|
VALUE
|
||||||
@ -200,3 +204,13 @@ rb_fiber_scheduler_io_write(VALUE scheduler, VALUE io, VALUE buffer, size_t offs
|
|||||||
// We should ensure string has capacity to receive data, and then resize it afterwards.
|
// We should ensure string has capacity to receive data, and then resize it afterwards.
|
||||||
return rb_check_funcall(scheduler, id_io_write, 4, arguments);
|
return rb_check_funcall(scheduler, id_io_write, 4, arguments);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VALUE
|
||||||
|
rb_fiber_scheduler_address_resolve(VALUE scheduler, VALUE hostname)
|
||||||
|
{
|
||||||
|
VALUE arguments[] = {
|
||||||
|
hostname
|
||||||
|
};
|
||||||
|
|
||||||
|
return rb_check_funcall(scheduler, id_address_resolve, 1, arguments);
|
||||||
|
}
|
||||||
|
@ -223,4 +223,10 @@ class Scheduler
|
|||||||
|
|
||||||
return fiber
|
return fiber
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def address_resolve(hostname)
|
||||||
|
Thread.new do
|
||||||
|
Addrinfo.getaddrinfo(hostname, nil).map(&:ip_address).uniq
|
||||||
|
end.value
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
281
test/fiber/test_address_resolve.rb
Normal file
281
test/fiber/test_address_resolve.rb
Normal file
@ -0,0 +1,281 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
require 'test/unit'
|
||||||
|
require_relative 'scheduler'
|
||||||
|
|
||||||
|
class TestAddressResolve < Test::Unit::TestCase
|
||||||
|
class NullScheduler < Scheduler
|
||||||
|
def address_resolve(*)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class StubScheduler < Scheduler
|
||||||
|
def address_resolve(hostname)
|
||||||
|
["1.2.3.4", "1234::1"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_ipv4_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
result = Addrinfo.getaddrinfo("example.com", 80, :AF_INET, :STREAM)
|
||||||
|
assert_equal(1, result.count)
|
||||||
|
|
||||||
|
ai = result.first
|
||||||
|
assert_equal("1.2.3.4", ai.ip_address)
|
||||||
|
assert_equal(80, ai.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_ipv6_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
result = Addrinfo.getaddrinfo("example.com", 80, :AF_INET6, :STREAM)
|
||||||
|
assert_equal(1, result.count)
|
||||||
|
|
||||||
|
ai = result.first
|
||||||
|
assert_equal("1234::1", ai.ip_address)
|
||||||
|
assert_equal(80, ai.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET6, ai.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_pf_unspec_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
results = Addrinfo.getaddrinfo("example.com", 80, :PF_UNSPEC, :STREAM)
|
||||||
|
assert_equal(2, results.count)
|
||||||
|
|
||||||
|
ai_ipv4 = results.first
|
||||||
|
assert_equal("1.2.3.4", ai_ipv4.ip_address)
|
||||||
|
assert_equal(80, ai_ipv4.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai_ipv4.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai_ipv4.socktype)
|
||||||
|
|
||||||
|
ai_ipv6 = results.last
|
||||||
|
assert_equal("1234::1", ai_ipv6.ip_address)
|
||||||
|
assert_equal(80, ai_ipv6.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET6, ai_ipv6.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai_ipv6.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_full_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
results = Addrinfo.getaddrinfo("example.com", 80)
|
||||||
|
assert_equal(6, results.count)
|
||||||
|
|
||||||
|
ai_ipv4_tcp = results[0]
|
||||||
|
assert_equal("1.2.3.4", ai_ipv4_tcp.ip_address)
|
||||||
|
assert_equal(80, ai_ipv4_tcp.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai_ipv4_tcp.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai_ipv4_tcp.socktype)
|
||||||
|
|
||||||
|
ai_ipv4_udp = results[1]
|
||||||
|
assert_equal("1.2.3.4", ai_ipv4_udp.ip_address)
|
||||||
|
assert_equal(80, ai_ipv4_udp.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai_ipv4_udp.afamily)
|
||||||
|
assert_equal(Socket::SOCK_DGRAM, ai_ipv4_udp.socktype)
|
||||||
|
|
||||||
|
ai_ipv4_sock_raw = results[2]
|
||||||
|
assert_equal("1.2.3.4", ai_ipv4_sock_raw.ip_address)
|
||||||
|
assert_equal(80, ai_ipv4_sock_raw.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai_ipv4_sock_raw.afamily)
|
||||||
|
assert_equal(Socket::SOCK_RAW, ai_ipv4_sock_raw.socktype)
|
||||||
|
|
||||||
|
ai_ipv6_tcp = results[3]
|
||||||
|
assert_equal("1234::1", ai_ipv6_tcp.ip_address)
|
||||||
|
assert_equal(80, ai_ipv6_tcp.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET6, ai_ipv6_tcp.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai_ipv6_tcp.socktype)
|
||||||
|
|
||||||
|
ai_ipv6_udp = results[4]
|
||||||
|
assert_equal("1234::1", ai_ipv6_udp.ip_address)
|
||||||
|
assert_equal(80, ai_ipv6_udp.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET6, ai_ipv6_udp.afamily)
|
||||||
|
assert_equal(Socket::SOCK_DGRAM, ai_ipv6_udp.socktype)
|
||||||
|
|
||||||
|
ai_ipv6_sock_raw = results[5]
|
||||||
|
assert_equal("1234::1", ai_ipv6_sock_raw.ip_address)
|
||||||
|
assert_equal(80, ai_ipv6_sock_raw.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET6, ai_ipv6_sock_raw.afamily)
|
||||||
|
assert_equal(Socket::SOCK_RAW, ai_ipv6_sock_raw.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_numeric_non_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = NullScheduler.new # scheduler hook not invoked
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
result = Addrinfo.getaddrinfo("1.2.3.4", 80, :AF_INET, :STREAM)
|
||||||
|
assert_equal(1, result.count)
|
||||||
|
|
||||||
|
ai = result.first
|
||||||
|
assert_equal("1.2.3.4", ai.ip_address)
|
||||||
|
assert_equal(80, ai.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_any_non_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = NullScheduler.new # scheduler hook not invoked
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
result = Addrinfo.getaddrinfo("<any>", 80, :AF_INET, :STREAM)
|
||||||
|
assert_equal(1, result.count)
|
||||||
|
|
||||||
|
ai = result.first
|
||||||
|
assert_equal("0.0.0.0", ai.ip_address)
|
||||||
|
assert_equal(80, ai.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_localhost
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
results = Addrinfo.getaddrinfo("localhost", 80, :AF_INET, :STREAM)
|
||||||
|
assert_equal(1, results.count)
|
||||||
|
|
||||||
|
ai = results.first
|
||||||
|
assert_equal("1.2.3.4", ai.ip_address)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_non_existing_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = NullScheduler.new # invoked, returns nil
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
assert_raise(SocketError) {
|
||||||
|
Addrinfo.getaddrinfo("non-existing-domain.abc", nil)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_getaddrinfo_no_host_non_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = NullScheduler.new # scheduler hook not invoked
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
result = Addrinfo.getaddrinfo(nil, 80, :AF_INET, :STREAM)
|
||||||
|
assert_equal(1, result.count)
|
||||||
|
|
||||||
|
ai = result.first
|
||||||
|
assert_equal("127.0.0.1", ai.ip_address)
|
||||||
|
assert_equal(80, ai.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_ip_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
ai = Addrinfo.ip("example.com")
|
||||||
|
|
||||||
|
assert_equal("1.2.3.4", ai.ip_address)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_tcp_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
ai = Addrinfo.tcp("example.com", 80)
|
||||||
|
|
||||||
|
assert_equal("1.2.3.4", ai.ip_address)
|
||||||
|
assert_equal(80, ai.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai.afamily)
|
||||||
|
assert_equal(Socket::SOCK_STREAM, ai.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addrinfo_udp_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
ai = Addrinfo.udp("example.com", 80)
|
||||||
|
|
||||||
|
assert_equal("1.2.3.4", ai.ip_address)
|
||||||
|
assert_equal(80, ai.ip_port)
|
||||||
|
assert_equal(Socket::AF_INET, ai.afamily)
|
||||||
|
assert_equal(Socket::SOCK_DGRAM, ai.socktype)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_ip_socket_getaddress_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
ip = IPSocket.getaddress("example.com")
|
||||||
|
|
||||||
|
assert_equal("1.2.3.4", ip)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
|
||||||
|
# This test "hits deep" into C function call chain.
|
||||||
|
def test_socket_getnameinfo_domain_blocking
|
||||||
|
Thread.new do
|
||||||
|
scheduler = StubScheduler.new
|
||||||
|
Fiber.set_scheduler scheduler
|
||||||
|
|
||||||
|
Fiber.schedule do
|
||||||
|
result = Socket.getnameinfo(["AF_INET", 80, "example.com"])
|
||||||
|
|
||||||
|
assert_equal([
|
||||||
|
"1.2.3.4",
|
||||||
|
"http"
|
||||||
|
], result)
|
||||||
|
end
|
||||||
|
end.join
|
||||||
|
end
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user