From 435ad02cc5cc93e5e94ce65158910709d2cc52f5 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 1 Feb 2009 23:12:52 +0000 Subject: * lib/xmlrpc/server.rb (Server#serve): gets rid of hardcoded platform names. * lib/resolv.rb (Resolv::Hosts::DefaultFileName), (Resolv::DNS::Config.default_config_hash): tries win32/resolv on mswin64 too. * lib/rubygems/specification.rb (Gem::Specification#ruby_code): aded mswin64. * lib/drb/extservm.rb (DRb::ExtServManager#invoke_service_command): spawn is better to start a process in background. * ext/extmk.rb: uses FNM_SYSCASE. * instruby.rb: installs win32.h on mswin64 platform. [ruby-core:21722] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@21933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/drb/extservm.rb | 6 +----- lib/resolv.rb | 4 ++-- lib/rubygems/specification.rb | 2 ++ lib/xmlrpc/server.rb | 6 +----- 4 files changed, 6 insertions(+), 12 deletions(-) (limited to 'lib') diff --git a/lib/drb/extservm.rb b/lib/drb/extservm.rb index be40aea9f..7af644a0b 100644 --- a/lib/drb/extservm.rb +++ b/lib/drb/extservm.rb @@ -79,11 +79,7 @@ module DRb @servers[name] = false end uri = @uri || DRb.uri - if RUBY_PLATFORM =~ /mswin32/ && /NT/ =~ ENV["OS"] - system(%Q'cmd /c start "ruby" /b #{command} #{uri} #{name}') - else - system("#{command} #{uri} #{name} &") - end + spawn("#{command} #{uri} #{name}") end end end diff --git a/lib/resolv.rb b/lib/resolv.rb index 07d88d046..ed8859d3c 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -165,7 +165,7 @@ class Resolv # Resolv::Hosts is a hostname resolver that uses the system hosts file. class Hosts - if /mswin32|mingw|bccwin/ =~ RUBY_PLATFORM + if /mswin|mingw|bccwin/ =~ RUBY_PLATFORM require 'win32/resolv' DefaultFileName = Win32::Resolv.get_hosts_path else @@ -829,7 +829,7 @@ class Resolv if File.exist? filename config_hash = Config.parse_resolv_conf(filename) else - if /mswin32|cygwin|mingw|bccwin/ =~ RUBY_PLATFORM + if /mswin|cygwin|mingw|bccwin/ =~ RUBY_PLATFORM require 'win32/resolv' search, nameserver = Win32::Resolv.get_resolv_info config_hash = {} diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 2e6cdc1b0..b3a42cf90 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -1153,6 +1153,8 @@ module Gem @new_platform = Gem::Platform::RUBY when 'mswin32' then # was Gem::Platform::WIN32 @new_platform = Gem::Platform.new 'x86-mswin32' + when 'mswin64' then + @new_platform = Gem::Platform.new 'x86-mswin64' when 'i586-linux' then # was Gem::Platform::LINUX_586 @new_platform = Gem::Platform.new 'x86-linux' when 'powerpc-darwin' then # was Gem::Platform::DARWIN diff --git a/lib/xmlrpc/server.rb b/lib/xmlrpc/server.rb index 0ee88c8c8..131173fa7 100644 --- a/lib/xmlrpc/server.rb +++ b/lib/xmlrpc/server.rb @@ -640,11 +640,7 @@ class Server < WEBrickServlet end def serve - if RUBY_PLATFORM =~ /mingw|mswin32/ - signals = [1] - else - signals = %w[INT TERM HUP] - end + signals = %w[INT TERM HUP] & Signal.list.keys signals.each { |signal| trap(signal) { @server.shutdown } } @server.start -- cgit