Я сейчас тестирую поддержку Ruby XMLRPC.Все работает нормально, кроме XMLRPC::Server#shutdown
.
Если я запускаю следующий тестовый код Ruby 1.9.3, он не сможет завершить работу сервера на Windows 7 и OSX 10.7:
# server.rb
require "xmlrpc/server"
require 'thread'
Thread.new { sleep 10; $server.shutdown() }
$server = XMLRPC::Server.new( 1234 )
$server.add_handler( "test" ) { true }
$server.serve()
# client.rb
require "xmlrpc/client"
server = XMLRPC::Client.new( "localhost", "/", 1234 )
loop { server.call( "test" ); sleep 0.1 }
Через десять секунд сервер пишет "INFO going to shutdown ..."
на стандартный вывод, но фактически не выключается и продолжает обрабатывать входящие запросы.Что я делаю не так?